qemu-e2k/block
Stefano Garzarella 9359c45988 block/blkio: enable the completion eventfd
Until libblkio 1.3.0, virtio-blk drivers had completion eventfd
notifications enabled from the start, but from the next releases
this is no longer the case, so we have to explicitly enable them.

In fact, the libblkio documentation says they could be disabled,
so we should always enable them at the start if we want to be
sure to get completion eventfd notifications:

    By default, the driver might not generate completion events for
    requests so it is necessary to explicitly enable the completion
    file descriptor before use:

    void blkioq_set_completion_fd_enabled(struct blkioq *q, bool enable);

I discovered this while trying a development version of libblkio:
the guest kernel hangs during boot, while probing the device.

Fixes: fd66dbd424 ("blkio: add libblkio block driver")
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-id: 20230725103744.77343-1-sgarzare@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2023-07-25 15:34:17 -04:00
..
export vhost-user: fully use new backend/frontend naming 2023-06-26 09:50:00 -04:00
monitor meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
accounting.c
aio_task.c
amend.c block: Mark BlockDriver callbacks for amend job GRAPH_RDLOCK 2023-05-10 14:16:54 +02:00
backup.c Block layer patches 2023-02-24 15:09:39 +00:00
blkdebug.c blkdebug: add missing coroutine_fn annotation 2023-04-25 13:17:28 +02:00
blkio.c block/blkio: enable the completion eventfd 2023-07-25 15:34:17 -04:00
blklogwrites.c block: Mark bdrv_co_refresh_total_sectors() and callers GRAPH_RDLOCK 2023-02-23 19:49:33 +01:00
blkreplay.c block: Mark bdrv_co_refresh_total_sectors() and callers GRAPH_RDLOCK 2023-02-23 19:49:33 +01:00
blkverify.c block: Mark bdrv_recurse_can_replace() and callers GRAPH_RDLOCK 2023-05-10 14:16:54 +02:00
block-backend.c block: add blk_io_plug_call() API 2023-06-01 07:34:03 -04:00
block-copy.c block: Mark bdrv_co_pwrite_zeroes() and callers GRAPH_RDLOCK 2023-02-23 19:49:14 +01:00
block-gen.h block-coroutine-wrapper.py: support also basic return types 2022-12-15 16:07:43 +01:00
block-ram-registrar.c
bochs.c bochs: mark more functions as coroutine_fns and GRAPH_RDLOCK 2023-06-28 09:46:24 +02:00
cloop.c cloop: mark more functions as coroutine_fns and GRAPH_RDLOCK 2023-06-28 09:46:27 +02:00
commit.c blockjob: Adhere to rate limit even when reentered early 2023-05-19 19:12:12 +02:00
copy-before-write.c copy-before-write: Fix open with child in iothread 2023-05-30 17:29:35 +02:00
copy-before-write.h
copy-on-read.c block: remove has_variable_length from filters 2023-04-11 16:38:56 +02:00
copy-on-read.h
coroutines.h nbd: Mark nbd_co_do_establish_connection() and callers GRAPH_RDLOCK 2023-05-10 14:16:53 +02:00
create.c block: Call .bdrv_co_create(_opts) unlocked 2023-05-19 19:12:12 +02:00
crypto.c block: Call .bdrv_co_create(_opts) unlocked 2023-05-19 19:12:12 +02:00
crypto.h
curl.c aio: remove aio_disable_external() API 2023-05-30 17:37:26 +02:00
dirty-bitmap.c block: Mark bdrv_*_dirty_bitmap() and callers GRAPH_RDLOCK 2023-02-23 19:49:32 +01:00
dmg-bz2.c
dmg-lzfse.c block/dmg: Ignore C99 prototype declaration mismatch from <lzfse.h> 2023-03-30 15:03:36 +02:00
dmg.c dmg: mark more functions as coroutine_fns and GRAPH_RDLOCK 2023-06-28 09:46:28 +02:00
dmg.h block/dmg: Declare a type definition for DMG uncompress function 2023-04-24 13:53:44 -04:00
file-posix.c file-posix: remove incorrect coroutine_fn calls 2023-06-28 09:46:14 +02:00
file-win32.c thread-pool: avoid passing the pool parameter every time 2023-04-25 13:17:28 +02:00
filter-compress.c block: remove has_variable_length from filters 2023-04-11 16:38:56 +02:00
gluster.c cutils: Adjust signature of parse_uint[_full] 2023-06-02 12:27:19 -05:00
graph-lock.c Revert "graph-lock: Disable locking for now" 2023-06-28 08:46:26 +02:00
io_uring.c block/io_uring: convert to blk_io_plug_call() API 2023-06-01 07:34:03 -04:00
io.c block: use bdrv_co_debug_event in coroutine context 2023-06-28 09:46:34 +02:00
iscsi-opts.c
iscsi.c aio: remove aio_disable_external() API 2023-05-30 17:37:26 +02:00
linux-aio.c block/linux-aio: convert to blk_io_plug_call() API 2023-06-01 07:34:03 -04:00
meson.build meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
mirror.c mirror: Hold main AioContext lock for calling bdrv_open_backing_file() 2023-05-30 17:21:23 +02:00
nbd.c bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
nfs.c cutils: Adjust signature of parse_uint[_full] 2023-06-02 12:27:19 -05:00
null.c block: Convert bdrv_get_allocated_file_size() to co_wrapper 2023-02-01 16:52:32 +01:00
nvme.c block/nvme: invoke blk_io_plug_call() outside q->lock 2023-07-17 09:17:41 -04:00
parallels-ext.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
parallels.c block: use bdrv_co_getlength in coroutine context 2023-06-28 09:46:33 +02:00
parallels.h
plug.c block: add blk_io_plug_call() API 2023-06-01 07:34:03 -04:00
preallocate.c block: remove has_variable_length from filters 2023-04-11 16:38:56 +02:00
progress_meter.c coroutine: Clean up superfluous inclusion of qemu/lockable.h 2023-01-19 10:18:28 +01:00
qapi-sysemu.c block: Take main AioContext lock when calling bdrv_open() 2023-05-30 17:21:23 +02:00
qapi.c block: add accounting for zone append operation 2023-05-15 08:18:10 -04:00
qcow2-bitmap.c qcow2: mark more functions as coroutine_fns and GRAPH_RDLOCK 2023-06-28 09:46:32 +02:00
qcow2-cache.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
qcow2-cluster.c block: use bdrv_co_debug_event in coroutine context 2023-06-28 09:46:34 +02:00
qcow2-refcount.c block: use bdrv_co_debug_event in coroutine context 2023-06-28 09:46:34 +02:00
qcow2-snapshot.c qcow2: mark various functions as coroutine_fn and GRAPH_RDLOCK 2023-04-25 13:17:28 +02:00
qcow2-threads.c thread-pool: avoid passing the pool parameter every time 2023-04-25 13:17:28 +02:00
qcow2.c block: use bdrv_co_debug_event in coroutine context 2023-06-28 09:46:34 +02:00
qcow2.h qcow2: mark more functions as coroutine_fns and GRAPH_RDLOCK 2023-06-28 09:46:32 +02:00
qcow.c block: use bdrv_co_debug_event in coroutine context 2023-06-28 09:46:34 +02:00
qed-check.c qed: mark more functions as coroutine_fns and GRAPH_RDLOCK 2023-06-28 09:46:20 +02:00
qed-cluster.c
qed-l2-cache.c
qed-table.c block: use bdrv_co_debug_event in coroutine context 2023-06-28 09:46:34 +02:00
qed.c block: use bdrv_co_debug_event in coroutine context 2023-06-28 09:46:34 +02:00
qed.h block: Mark public read/write functions GRAPH_RDLOCK 2023-02-23 19:49:17 +01:00
quorum.c block: Mark bdrv_recurse_can_replace() and callers GRAPH_RDLOCK 2023-05-10 14:16:54 +02:00
raw-format.c block: use bdrv_co_debug_event in coroutine context 2023-06-28 09:46:34 +02:00
rbd.c block/rbd: Add support for layered encryption 2023-02-23 19:49:35 +01:00
replication.c block: remove has_variable_length from filters 2023-04-11 16:38:56 +02:00
reqlist.c
snapshot-access.c block: Mark preadv_snapshot/snapshot_block_status GRAPH_RDLOCK 2023-02-23 19:49:21 +01:00
snapshot.c
ssh.c aio: remove aio_disable_external() API 2023-05-30 17:37:26 +02:00
stream.c blockjob: Adhere to rate limit even when reentered early 2023-05-19 19:12:12 +02:00
throttle-groups.c
throttle.c block: Mark bdrv_co_refresh_total_sectors() and callers GRAPH_RDLOCK 2023-02-23 19:49:33 +01:00
trace-events block/io_uring: convert to blk_io_plug_call() API 2023-06-01 07:34:03 -04:00
trace.h
vdi.c block: Call .bdrv_co_create(_opts) unlocked 2023-05-19 19:12:12 +02:00
vhdx-endian.c
vhdx-log.c vhdx: mark more functions as coroutine_fns and GRAPH_RDLOCK 2023-06-28 09:46:30 +02:00
vhdx.c vhdx: mark more functions as coroutine_fns and GRAPH_RDLOCK 2023-06-28 09:46:30 +02:00
vhdx.h vhdx: mark more functions as coroutine_fns and GRAPH_RDLOCK 2023-06-28 09:46:30 +02:00
vmdk.c block: use bdrv_co_debug_event in coroutine context 2023-06-28 09:46:34 +02:00
vpc.c vpc: mark more functions as coroutine_fns and GRAPH_RDLOCK 2023-06-28 09:46:23 +02:00
vvfat.c vvfat: mark various functions as coroutine_fn 2023-04-25 13:17:28 +02:00
win32-aio.c aio: remove aio_disable_external() API 2023-05-30 17:37:26 +02:00
write-threshold.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00