F: util/defer-call.c
F: util/fdmon-*.c
F: block/io.c
-F: include/block/aio.h
+F: include/qemu/aio.h
F: include/block/aio-wait.h
F: include/qemu/defer-call.h
F: scripts/qemugdb/aio.py
*/
#include "qemu/osdep.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/aio_task.h"
struct AioTaskPool {
#include "qemu/osdep.h"
#include "qemu/memalign.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/block_int-common.h"
#include "block/export.h"
#include "block/fuse.h"
*/
#include "qemu/osdep.h"
#include <liburing.h>
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/block.h"
#include "block/raw-aio.h"
#include "qemu/coroutine.h"
* See the COPYING file in the top-level directory.
*/
#include "qemu/osdep.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qemu/queue.h"
#include "block/block.h"
#include "block/raw-aio.h"
#include "qemu/timer.h"
#include "block/block-io.h"
#include "block/block_int.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/raw-aio.h"
#include "qemu/aiocb.h"
#include "qemu/event_notifier.h"
----------------------------------
The main difference between legacy code and new code that can run in an
``IOThread`` is dealing explicitly with the event loop object, ``AioContext``
-(see ``include/block/aio.h``). Code that only works in the main loop
+(see ``include/qemu/aio.h``). Code that only works in the main loop
implicitly uses the main loop's ``AioContext``. Code that supports running
in ``IOThread``\ s must be aware of its ``AioContext``.
runs in an ``IOThread``. They might cause a crash or deadlock if called from an
``IOThread`` since the BQL is not held.
-Instead, use the ``AioContext`` functions directly (see ``include/block/aio.h``):
+Instead, use the ``AioContext`` functions directly (see ``include/qemu/aio.h``):
* ``aio_set_fd_handler()`` - monitor a file descriptor
* ``aio_set_event_notifier()`` - monitor an event notifier
* ``aio_timer_new()`` - create a timer
#ifndef QEMU_AIO_WAIT_H
#define QEMU_AIO_WAIT_H
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qemu/main-loop.h"
/**
#define QEMU_RAW_AIO_H
#include "qemu/aiocb.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/block-common.h"
#include "qemu/iov.h"
#define QEMU_THREAD_POOL_H
#include "qemu/aiocb.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#define THREAD_POOL_MAX_THREADS_DEFAULT 64
#define QEMU_HW_SCSI_H
#include "qemu/aiocb.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "hw/block/block.h"
#include "hw/core/qdev.h"
#include "scsi/utils.h"
#include "standard-headers/linux/virtio_config.h"
#include "standard-headers/linux/virtio_ring.h"
#include "qom/object.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
/*
* A guest should never accept this. It implies negotiation is broken
#include "qom/object.h"
#include "qemu/coroutine-core.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#define TYPE_QIO_CHANNEL "qio-channel"
OBJECT_DECLARE_TYPE(QIOChannel, QIOChannelClass,
#include "qemu/queue.h"
#include "qemu/progress_meter.h"
#include "qemu/coroutine.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/graph-lock.h"
typedef struct JobDriver JobDriver;
#ifndef QEMU_MAIN_LOOP_H
#define QEMU_MAIN_LOOP_H
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qom/object.h"
#include "system/event-loop-base.h"
#ifndef THROTTLE_H
#define THROTTLE_H
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qapi/qapi-types-block-core.h"
#include "qemu/timer.h"
#include "qom/object.h"
#include "qapi/visitor.h"
#include "qom/object_interfaces.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#define TYPE_PR_MANAGER "pr-manager"
#define QEMU_EVENT_LOOP_BASE_H
#include "qom/object.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#define TYPE_EVENT_LOOP_BASE "event-loop-base"
OBJECT_DECLARE_TYPE(EventLoopBase, EventLoopBaseClass,
#ifndef IOTHREAD_H
#define IOTHREAD_H
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qemu/thread.h"
#include "qom/object.h"
#include "system/event-loop-base.h"
#include "qapi/qapi-types-misc.h"
#include "qapi/qapi-types-run-state.h"
#include "qapi/qapi-types-ui.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qemu/audio.h"
/* replay clock kinds */
#include "qom/object.h"
#include "qom/object_interfaces.h"
#include "qemu/module.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/block.h"
#include "system/event-loop-base.h"
#include "system/iothread.h"
#include "qemu/osdep.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qapi/compat-policy.h"
#include "qapi/error.h"
#include "qapi/qmp-registry.h"
#include "qemu/error-report.h"
#include "system/replay.h"
#include "replay-internal.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "ui/input.h"
#include "hw/core/cpu.h"
echo $(grep_include -F 'trace/generated-tracers.h') files include generated-tracers.h
echo $(grep_include -F 'qapi/error.h') files include qapi/error.h
echo $(grep_include -F 'qom/object.h') files include qom/object.h
-echo $(grep_include -F 'block/aio.h') files include block/aio.h
+echo $(grep_include -F 'qemu/aio.h') files include block/aio.h
echo $(grep_include -F 'system/memory.h') files include system/memory.h
echo $(grep_include -F 'fpu/softfloat.h') files include fpu/softfloat.h
echo $(grep_include -F 'qemu/bswap.h') files include qemu/bswap.h
#include <scsi/sg.h>
#include "qapi/error.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/thread-pool.h"
#include "scsi/pr-manager.h"
#include "trace.h"
* See the COPYING file in the top-level directory.
*/
#include "qemu/osdep.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/raw-aio.h"
void laio_detach_aio_context(LinuxAioState *s, AioContext *old_context)
#include "qemu/osdep.h"
#include "system/replay.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
bool replay_events_enabled(void)
{
#include "qemu/osdep.h"
#include "qapi/error.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qemu/main-loop.h"
#include "qemu/rcu.h"
#include "iothread.h"
#ifndef TEST_IOTHREAD_H
#define TEST_IOTHREAD_H
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qemu/thread.h"
typedef struct IOThread IOThread;
*/
#include "qemu/osdep.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qemu/coroutine.h"
#include "qemu/thread.h"
#include "qemu/error-report.h"
*/
#include "qemu/osdep.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qapi/error.h"
#include "qemu/timer.h"
#include "qemu/sockets.h"
* aio_poll() calls. This test case checks that this is indeed what happens.
*/
#include "qemu/osdep.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qapi/error.h"
#include "util/aio-posix.h"
#include "qemu/osdep.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/thread-pool.h"
#include "block/block.h"
#include "qapi/error.h"
#include "qemu/osdep.h"
#include <math.h>
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qapi/error.h"
#include "qemu/throttle.h"
#include "qemu/error-report.h"
#ifndef AIO_POSIX_H
#define AIO_POSIX_H
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "qapi/error.h"
struct AioHandler {
#include "qemu/osdep.h"
#include "qapi/error.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/thread-pool.h"
#include "block/graph-lock.h"
#include "qemu/main-loop.h"
#include "exec/icount.h"
#include "system/replay.h"
#include "qemu/main-loop.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "block/thread-pool.h"
#include "qemu/error-report.h"
#include "qemu/queue.h"
#include "qemu/osdep.h"
#include "qemu/coroutine.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
typedef struct QemuCoTimeoutState {
CoroutineEntry *entry;
#include "qemu/coroutine_int.h"
#include "qemu/processor.h"
#include "qemu/queue.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
#include "trace.h"
void qemu_co_queue_init(CoQueue *queue)
#include "qemu/osdep.h"
#include "qemu/coroutine_int.h"
#include "qemu/timer.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
static const char *qemu_co_sleep_ns__scheduled = "qemu_co_sleep_ns";
#include "qemu/coroutine_int.h"
#include "qemu/coroutine-tls.h"
#include "qemu/cutils.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
enum {
COROUTINE_POOL_BATCH_MAX_SIZE = 128,
#include "qapi/error.h"
#include "qemu/throttle.h"
#include "qemu/timer.h"
-#include "block/aio.h"
+#include "qemu/aio.h"
/* This function make a bucket leak
*