From: Farhan Ali <alifm@linux.ibm.com>
To: Nishanth Aravamudan <naravamudan@digitalocean.com>
Cc: Eric Blake <eblake@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
John Snow <jsnow@redhat.com>, Max Reitz <mreitz@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Fam Zheng <famz@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
qemu-block@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] block/file-posix: add bdrv_attach_aio_context callback for host dev and cdrom
Date: Fri, 20 Jul 2018 15:11:14 -0400 [thread overview]
Message-ID: <a1269390-a798-9165-aaf5-a2aa6270bd54@linux.ibm.com> (raw)
In-Reply-To: <20180718211256.29774-1-naravamudan@digitalocean.com>
I am seeing another issue pop up, in a different test. Even though it's
a different assertion, it might be related based on the call trace.
Stack trace of thread 276199:
#0 0x000003ff8473e274 raise (libc.so.6)
#1 0x000003ff847239a8 abort (libc.so.6)
#2 0x000003ff847362ce __assert_fail_base (libc.so.6)
#3 0x000003ff8473634c __assert_fail (libc.so.6)
#4 0x000002aa30aba0c4 iov_memset (qemu-system-s390x)
#5 0x000002aa30aba9a6 qemu_iovec_memset (qemu-system-s390x)
#6 0x000002aa30a23e88 qemu_laio_process_completion (qemu-system-s390x)
#7 0x000002aa30a23f68 qemu_laio_process_completions (qemu-system-s390x)
#8 0x000002aa30a2418e qemu_laio_process_completions_and_submit
(qemu-system-s390x)
#9 0x000002aa30a24220 qemu_laio_poll_cb (qemu-system-s390x)
#10 0x000002aa30ab22c4 run_poll_handlers_once (qemu-system-s390x)
#11 0x000002aa30ab2e78 aio_poll (qemu-system-s390x)
#12 0x000002aa30a29f4e bdrv_do_drained_begin (qemu-system-s390x)
#13 0x000002aa30a2a276 bdrv_drain (qemu-system-s390x)
#14 0x000002aa309d45aa bdrv_set_aio_context (qemu-system-s390x)
#15 0x000002aa3085acfe virtio_blk_data_plane_stop (qemu-system-s390x)
#16 0x000002aa3096994c virtio_bus_stop_ioeventfd.part.1 (qemu-system-s390x)
#17 0x000002aa3087d1d6 virtio_vmstate_change (qemu-system-s390x)
#18 0x000002aa308e8a12 vm_state_notify (qemu-system-s390x)
#19 0x000002aa3080ed54 do_vm_stop (qemu-system-s390x)
#20 0x000002aa307bea04 main (qemu-system-s390x)
#21 0x000003ff84723dd2 __libc_start_main (libc.so.6)
#22 0x000002aa307c0414 _start (qemu-system-s390x)
The failing assertion is:
qemu-kvm: util/iov.c:78: iov_memset: Assertion `offset == 0' failed.
On 07/18/2018 05:12 PM, Nishanth Aravamudan wrote:
> In ed6e2161 ("linux-aio: properly bubble up errors from initialzation"),
> I only added a bdrv_attach_aio_context callback for the bdrv_file
> driver. There are several other drivers that use the shared
> aio_plug callback, though, and they will trip the assertion added to
> aio_get_linux_aio because they did not call aio_setup_linux_aio first.
> Add the appropriate callback definition to the affected driver
> definitions.
>
> Fixes: ed6e2161 ("linux-aio: properly bubble up errors from initialization")
> Reported-by: Farhan Ali <alifm@linux.ibm.com>
> Signed-off-by: Nishanth Aravamudan <naravamudan@digitalocean.com>
> Cc: Eric Blake <eblake@redhat.com>
> Cc: Kevin Wolf <kwolf@redhat.com>
> Cc: John Snow <jsnow@redhat.com>
> Cc: Max Reitz <mreitz@redhat.com>
> Cc: Stefan Hajnoczi <stefanha@redhat.com>
> Cc: Fam Zheng <famz@redhat.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: qemu-block@nongnu.org
> Cc: qemu-devel@nongnu.org
> ---
> block/file-posix.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/block/file-posix.c b/block/file-posix.c
> index 60af4b3d51..ad299beb38 100644
> --- a/block/file-posix.c
> +++ b/block/file-posix.c
> @@ -3158,6 +3158,7 @@ static BlockDriver bdrv_host_device = {
> .bdrv_refresh_limits = raw_refresh_limits,
> .bdrv_io_plug = raw_aio_plug,
> .bdrv_io_unplug = raw_aio_unplug,
> + .bdrv_attach_aio_context = raw_aio_attach_aio_context,
>
> .bdrv_co_truncate = raw_co_truncate,
> .bdrv_getlength = raw_getlength,
> @@ -3280,6 +3281,7 @@ static BlockDriver bdrv_host_cdrom = {
> .bdrv_refresh_limits = raw_refresh_limits,
> .bdrv_io_plug = raw_aio_plug,
> .bdrv_io_unplug = raw_aio_unplug,
> + .bdrv_attach_aio_context = raw_aio_attach_aio_context,
>
> .bdrv_co_truncate = raw_co_truncate,
> .bdrv_getlength = raw_getlength,
> @@ -3410,6 +3412,7 @@ static BlockDriver bdrv_host_cdrom = {
> .bdrv_refresh_limits = raw_refresh_limits,
> .bdrv_io_plug = raw_aio_plug,
> .bdrv_io_unplug = raw_aio_unplug,
> + .bdrv_attach_aio_context = raw_aio_attach_aio_context,
>
> .bdrv_co_truncate = raw_co_truncate,
> .bdrv_getlength = raw_getlength,
>
next prev parent reply other threads:[~2018-07-20 19:11 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-18 21:12 [Qemu-devel] [PATCH] block/file-posix: add bdrv_attach_aio_context callback for host dev and cdrom Nishanth Aravamudan
2018-07-19 20:24 ` John Snow
2018-07-20 19:11 ` Farhan Ali [this message]
2018-07-20 19:32 ` Nishanth Aravamudan
2018-07-20 19:42 ` Farhan Ali
2018-07-23 13:34 ` Farhan Ali
2018-07-23 16:30 ` Stefan Hajnoczi
2018-07-23 16:42 ` Farhan Ali
2018-07-27 13:26 ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2018-07-27 14:54 ` Farhan Ali
2018-07-23 16:25 ` [Qemu-devel] " Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a1269390-a798-9165-aaf5-a2aa6270bd54@linux.ibm.com \
--to=alifm@linux.ibm.com \
--cc=eblake@redhat.com \
--cc=famz@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=naravamudan@digitalocean.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.