Peter Krempa <pkre...@redhat.com> writes: > After recent header file inclusion rework the build fails when the blkio > module is enabled: > > ../block/blkio.c: In function ‘blkio_detach_aio_context’: > ../block/blkio.c:321:24: error: implicit declaration of function > ‘bdrv_get_aio_context’; did you mean ‘qemu_get_aio_context’? > [-Werror=implicit-function-declaration] > 321 | aio_set_fd_handler(bdrv_get_aio_context(bs), > | ^~~~~~~~~~~~~~~~~~~~ > | qemu_get_aio_context > ../block/blkio.c:321:24: error: nested extern declaration of > ‘bdrv_get_aio_context’ [-Werror=nested-externs] > ../block/blkio.c:321:24: error: passing argument 1 of ‘aio_set_fd_handler’ > makes pointer from integer without a cast [-Werror=int-conversion] > 321 | aio_set_fd_handler(bdrv_get_aio_context(bs), > | ^~~~~~~~~~~~~~~~~~~~~~~~ > | | > | int > In file included from /home/pipo/git/qemu.git/include/qemu/job.h:33, > from /home/pipo/git/qemu.git/include/block/blockjob.h:30, > from > /home/pipo/git/qemu.git/include/block/block_int-global-state.h:28, > from /home/pipo/git/qemu.git/include/block/block_int.h:27, > from ../block/blkio.c:13: > /home/pipo/git/qemu.git/include/block/aio.h:476:37: note: expected > ‘AioContext *’ but argument is of type ‘int’ > 476 | void aio_set_fd_handler(AioContext *ctx, > | ~~~~~~~~~~~~^~~ > ../block/blkio.c: In function ‘blkio_file_open’: > ../block/blkio.c:821:34: error: passing argument 2 of > ‘blkio_attach_aio_context’ makes pointer from integer without a cast > [-Werror=int-conversion] > 821 | blkio_attach_aio_context(bs, bdrv_get_aio_context(bs)); > | ^~~~~~~~~~~~~~~~~~~~~~~~ > | | > | int >
My apologies... Why are modules disabled by default? > Fix it by including 'block/block-io.h' which contains the required > declarations. > > Fixes: e2c1c34f139f49ef909bb4322607fb8b39002312 > Signed-off-by: Peter Krempa <pkre...@redhat.com> > --- > block/blkio.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/block/blkio.c b/block/blkio.c > index 5eae3adfaf..6ad86b23d1 100644 > --- a/block/blkio.c > +++ b/block/blkio.c > @@ -19,6 +19,8 @@ > #include "qemu/module.h" > #include "exec/memory.h" /* for ram_block_discard_disable() */ > > +#include "block/block-io.h" > + > /* > * Keep the QEMU BlockDriver names identical to the libblkio driver names. > * Using macros instead of typing out the string literals avoids typos. Reviewed-by: Markus Armbruster <arm...@redhat.com>