summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAarushi Mehta2020-01-20 15:18:48 +0100
committerStefan Hajnoczi2020-01-30 21:59:41 +0100
commit06a47ef57c3baa9b06006cd424afe89bbaf162b5 (patch)
tree87f7c9880b1b9cd6c369aa54c3e2c9c8c331a1cf
parentblock/io_uring: implements interfaces for io_uring (diff)
downloadqemu-06a47ef57c3baa9b06006cd424afe89bbaf162b5.tar.gz
qemu-06a47ef57c3baa9b06006cd424afe89bbaf162b5.tar.xz
qemu-06a47ef57c3baa9b06006cd424afe89bbaf162b5.zip
stubs: add stubs for io_uring interface
Follow linux-aio.o and stub out the block/io_uring.o APIs that will be missing when a binary is linked with obj-util-y but without block-util-y (e.g. vhost-user-gpu). For example, the stubs are necessary so that a binary using util/async.o from obj-util-y for qemu_bh_new() links successfully. In this case block/io_uring.o from block-util-y isn't needed and we can avoid dragging in the block layer by linking the stubs instead. The stub functions never get called. Signed-off-by: Aarushi Mehta <mehta.aaru20@gmail.com> Acked-by: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 20200120141858.587874-6-stefanha@redhat.com Message-Id: <20200120141858.587874-6-stefanha@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r--MAINTAINERS1
-rw-r--r--stubs/Makefile.objs1
-rw-r--r--stubs/io_uring.c32
3 files changed, 34 insertions, 0 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index a19437c13d..4ceb1ad882 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2641,6 +2641,7 @@ M: Stefan Hajnoczi <stefanha@redhat.com>
L: qemu-block@nongnu.org
S: Maintained
F: block/io_uring.c
+F: stubs/io_uring.c
qcow2
M: Kevin Wolf <kwolf@redhat.com>
diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
index 8b0ff25508..7afbe5fb61 100644
--- a/stubs/Makefile.objs
+++ b/stubs/Makefile.objs
@@ -13,6 +13,7 @@ stub-obj-y += iothread.o
stub-obj-y += iothread-lock.o
stub-obj-y += is-daemonized.o
stub-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
+stub-obj-$(CONFIG_LINUX_IO_URING) += io_uring.o
stub-obj-y += machine-init-done.o
stub-obj-y += migr-blocker.o
stub-obj-y += change-state-handler.o
diff --git a/stubs/io_uring.c b/stubs/io_uring.c
new file mode 100644
index 0000000000..622d1e4648
--- /dev/null
+++ b/stubs/io_uring.c
@@ -0,0 +1,32 @@
+/*
+ * Linux io_uring support.
+ *
+ * Copyright (C) 2009 IBM, Corp.
+ * Copyright (C) 2009 Red Hat, Inc.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+#include "qemu/osdep.h"
+#include "block/aio.h"
+#include "block/raw-aio.h"
+
+void luring_detach_aio_context(LuringState *s, AioContext *old_context)
+{
+ abort();
+}
+
+void luring_attach_aio_context(LuringState *s, AioContext *new_context)
+{
+ abort();
+}
+
+LuringState *luring_init(Error **errp)
+{
+ abort();
+}
+
+void luring_cleanup(LuringState *s)
+{
+ abort();
+}