From: Nishanth Aravamudan <naravamu...@digitalocean.com> 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 <al...@linux.ibm.com> Signed-off-by: Nishanth Aravamudan <naravamu...@digitalocean.com> Reviewed-by: John Snow <js...@redhat.com> Message-id: 20180718211256.29774-1-naravamu...@digitalocean.com Cc: Eric Blake <ebl...@redhat.com> Cc: Kevin Wolf <kw...@redhat.com> Cc: John Snow <js...@redhat.com> Cc: Max Reitz <mre...@redhat.com> Cc: Stefan Hajnoczi <stefa...@redhat.com> Cc: Fam Zheng <f...@redhat.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: qemu-block@nongnu.org Cc: qemu-de...@nongnu.org Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> --- 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, -- 2.17.1