aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2022-12-21 14:35:49 +0100
committerMarkus Armbruster <armbru@redhat.com>2023-01-20 07:24:28 +0100
commite2c1c34f139f49ef909bb4322607fb8b39002312 (patch)
tree7bd8fcb9db4dd89d8edcd3d59e8c5f42f2e5f445
parent436956013539c19cf781ae333bc1c125d728cf1f (diff)
downloadqemu-e2c1c34f139f49ef909bb4322607fb8b39002312.zip
qemu-e2c1c34f139f49ef909bb4322607fb8b39002312.tar.gz
qemu-e2c1c34f139f49ef909bb4322607fb8b39002312.tar.bz2
include/block: Untangle inclusion loops
We have two inclusion loops: block/block.h -> block/block-global-state.h -> block/block-common.h -> block/blockjob.h -> block/block.h block/block.h -> block/block-io.h -> block/block-common.h -> block/blockjob.h -> block/block.h I believe these go back to Emanuele's reorganization of the block API, merged a few months ago in commit d7e2fe4aac8. Fortunately, breaking them is merely a matter of deleting unnecessary includes from headers, and adding them back in places where they are now missing. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20221221133551.3967339-2-armbru@redhat.com>
-rw-r--r--block.c1
-rw-r--r--block/amend.c1
-rw-r--r--block/backup.c1
-rw-r--r--block/blkdebug.c1
-rw-r--r--block/blklogwrites.c1
-rw-r--r--block/blkreplay.c1
-rw-r--r--block/blkverify.c1
-rw-r--r--block/block-copy.c4
-rw-r--r--block/bochs.c1
-rw-r--r--block/cloop.c1
-rw-r--r--block/copy-before-write.c1
-rw-r--r--block/copy-on-read.c1
-rw-r--r--block/curl.c1
-rw-r--r--block/dirty-bitmap.c2
-rw-r--r--block/dmg.c1
-rw-r--r--block/export/fuse.c3
-rw-r--r--block/file-posix.c1
-rw-r--r--block/file-win32.c1
-rw-r--r--block/filter-compress.c1
-rw-r--r--block/gluster.c1
-rw-r--r--block/io.c1
-rw-r--r--block/iscsi.c1
-rw-r--r--block/mirror.c1
-rw-r--r--block/monitor/bitmap-qmp-cmds.c2
-rw-r--r--block/nfs.c1
-rw-r--r--block/null.c1
-rw-r--r--block/nvme.c1
-rw-r--r--block/parallels-ext.c2
-rw-r--r--block/preallocate.c1
-rw-r--r--block/qapi-sysemu.c1
-rw-r--r--block/qapi.c1
-rw-r--r--block/qcow2-bitmap.c2
-rw-r--r--block/qcow2-cache.c1
-rw-r--r--block/qcow2-cluster.c1
-rw-r--r--block/qcow2-refcount.c1
-rw-r--r--block/qcow2-threads.c1
-rw-r--r--block/qcow2.c1
-rw-r--r--block/qed-check.c1
-rw-r--r--block/qed-table.c1
-rw-r--r--block/raw-format.c1
-rw-r--r--block/rbd.c1
-rw-r--r--block/ssh.c1
-rw-r--r--block/throttle.c2
-rw-r--r--block/vhdx-log.c1
-rw-r--r--block/vvfat.c1
-rw-r--r--block/win32-aio.c1
-rw-r--r--block/write-threshold.c1
-rw-r--r--blockdev.c1
-rw-r--r--blockjob.c1
-rw-r--r--hw/block/block.c1
-rw-r--r--hw/sparc64/niagara.c1
-rw-r--r--hw/virtio/virtio-pmem.c1
-rw-r--r--include/block/block-common.h9
-rw-r--r--include/block/block-copy.h4
-rw-r--r--include/block/block-global-state.h4
-rw-r--r--include/block/block-hmp-cmds.h2
-rw-r--r--include/block/block-io.h5
-rw-r--r--include/block/block.h4
-rw-r--r--include/block/block_backup.h2
-rw-r--r--include/block/block_int-common.h14
-rw-r--r--include/block/block_int-global-state.h5
-rw-r--r--include/block/block_int-io.h4
-rw-r--r--include/block/block_int.h4
-rw-r--r--include/block/blockjob.h2
-rw-r--r--include/block/blockjob_int.h1
-rw-r--r--include/block/dirty-bitmap.h1
-rw-r--r--include/block/qapi.h2
-rw-r--r--include/block/thread-pool.h2
-rw-r--r--include/block/throttle-groups.h2
-rw-r--r--include/sysemu/block-backend-io.h1
-rw-r--r--migration/block-dirty-bitmap.c1
-rw-r--r--migration/block.c1
-rw-r--r--migration/savevm.c1
-rw-r--r--monitor/qmp-cmds.c1
-rw-r--r--nbd/server.c2
-rw-r--r--qemu-img.c1
-rw-r--r--scripts/block-coroutine-wrapper.py3
-rw-r--r--softmmu/cpus.c1
-rw-r--r--softmmu/physmem.c1
-rw-r--r--storage-daemon/qemu-storage-daemon.c1
-rw-r--r--target/i386/kvm/kvm.c1
-rw-r--r--tests/unit/test-bdrv-drain.c2
-rw-r--r--tests/unit/test-block-iothread.c1
83 files changed, 112 insertions, 35 deletions
diff --git a/block.c b/block.c
index 9c2ac75..b4a8920 100644
--- a/block.c
+++ b/block.c
@@ -27,6 +27,7 @@
#include "block/trace.h"
#include "block/block_int.h"
#include "block/blockjob.h"
+#include "block/dirty-bitmap.h"
#include "block/fuse.h"
#include "block/nbd.h"
#include "block/qdict.h"
diff --git a/block/amend.c b/block/amend.c
index f696a00..bc4bb7b 100644
--- a/block/amend.c
+++ b/block/amend.c
@@ -26,6 +26,7 @@
*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qemu/job.h"
#include "qemu/main-loop.h"
diff --git a/block/backup.c b/block/backup.c
index 6a9ad97..824d39a 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -20,6 +20,7 @@
#include "block/blockjob_int.h"
#include "block/block_backup.h"
#include "block/block-copy.h"
+#include "block/dirty-bitmap.h"
#include "qapi/error.h"
#include "qapi/qmp/qerror.h"
#include "qemu/cutils.h"
diff --git a/block/blkdebug.c b/block/blkdebug.c
index ca65b04..fa38c1c 100644
--- a/block/blkdebug.c
+++ b/block/blkdebug.c
@@ -27,6 +27,7 @@
#include "qapi/error.h"
#include "qemu/cutils.h"
#include "qemu/config-file.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "block/qdict.h"
#include "qemu/module.h"
diff --git a/block/blklogwrites.c b/block/blklogwrites.c
index cef9efe..a5bf767 100644
--- a/block/blklogwrites.c
+++ b/block/blklogwrites.c
@@ -12,6 +12,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "qemu/sockets.h" /* for EINPROGRESS on Windows */
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qapi/qmp/qdict.h"
#include "qapi/qmp/qstring.h"
diff --git a/block/blkreplay.c b/block/blkreplay.c
index 76a0b8d..e3b6a3e 100644
--- a/block/blkreplay.c
+++ b/block/blkreplay.c
@@ -11,6 +11,7 @@
#include "qemu/osdep.h"
#include "qemu/module.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "sysemu/replay.h"
#include "qapi/error.h"
diff --git a/block/blkverify.c b/block/blkverify.c
index c60a2dc..0e78bc9 100644
--- a/block/blkverify.c
+++ b/block/blkverify.c
@@ -10,6 +10,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "qemu/sockets.h" /* for EINPROGRESS on Windows */
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qapi/qmp/qdict.h"
#include "qapi/qmp/qstring.h"
diff --git a/block/block-copy.c b/block/block-copy.c
index 5e59d62..30a4da0 100644
--- a/block/block-copy.c
+++ b/block/block-copy.c
@@ -17,10 +17,14 @@
#include "trace.h"
#include "qapi/error.h"
#include "block/block-copy.h"
+#include "block/block_int-io.h"
+#include "block/dirty-bitmap.h"
#include "block/reqlist.h"
#include "sysemu/block-backend.h"
#include "qemu/units.h"
+#include "qemu/co-shared-resource.h"
#include "qemu/coroutine.h"
+#include "qemu/ratelimit.h"
#include "block/aio_task.h"
#include "qemu/error-report.h"
#include "qemu/memalign.h"
diff --git a/block/bochs.c b/block/bochs.c
index e30e390..46e7958 100644
--- a/block/bochs.c
+++ b/block/bochs.c
@@ -24,6 +24,7 @@
*/
#include "qemu/osdep.h"
#include "qapi/error.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qemu/module.h"
#include "qemu/bswap.h"
diff --git a/block/cloop.c b/block/cloop.c
index 3ff975a..1e5a52d 100644
--- a/block/cloop.c
+++ b/block/cloop.c
@@ -24,6 +24,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "qemu/error-report.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qemu/module.h"
#include "qemu/bswap.h"
diff --git a/block/copy-before-write.c b/block/copy-before-write.c
index 70c4ba7..c9fb809 100644
--- a/block/copy-before-write.c
+++ b/block/copy-before-write.c
@@ -32,6 +32,7 @@
#include "block/block_int.h"
#include "block/qdict.h"
#include "block/block-copy.h"
+#include "block/dirty-bitmap.h"
#include "block/copy-before-write.h"
#include "block/reqlist.h"
diff --git a/block/copy-on-read.c b/block/copy-on-read.c
index 815ac1d..13ed415 100644
--- a/block/copy-on-read.c
+++ b/block/copy-on-read.c
@@ -21,6 +21,7 @@
*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qemu/module.h"
#include "qapi/error.h"
diff --git a/block/curl.c b/block/curl.c
index cba4c4c..bf45fa3 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -27,6 +27,7 @@
#include "qemu/error-report.h"
#include "qemu/module.h"
#include "qemu/option.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qapi/qmp/qdict.h"
#include "qapi/qmp/qstring.h"
diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c
index 956feeb..1e7aee4 100644
--- a/block/dirty-bitmap.c
+++ b/block/dirty-bitmap.c
@@ -24,8 +24,10 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "trace.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "block/blockjob.h"
+#include "block/dirty-bitmap.h"
#include "qemu/main-loop.h"
struct BdrvDirtyBitmap {
diff --git a/block/dmg.c b/block/dmg.c
index 675e840..e10b9a2 100644
--- a/block/dmg.c
+++ b/block/dmg.c
@@ -23,6 +23,7 @@
*/
#include "qemu/osdep.h"
#include "qapi/error.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qemu/bswap.h"
#include "qemu/error-report.h"
diff --git a/block/export/fuse.c b/block/export/fuse.c
index 1b26ddf..e5fc4af 100644
--- a/block/export/fuse.c
+++ b/block/export/fuse.c
@@ -21,12 +21,13 @@
#include "qemu/osdep.h"
#include "qemu/memalign.h"
#include "block/aio.h"
-#include "block/block.h"
+#include "block/block_int-common.h"
#include "block/export.h"
#include "block/fuse.h"
#include "block/qapi.h"
#include "qapi/error.h"
#include "qapi/qapi-commands-block.h"
+#include "qemu/main-loop.h"
#include "sysemu/block-backend.h"
#include <fuse.h>
diff --git a/block/file-posix.c b/block/file-posix.c
index b9955db..fa227d9 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -26,6 +26,7 @@
#include "qapi/error.h"
#include "qemu/cutils.h"
#include "qemu/error-report.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qemu/module.h"
#include "qemu/option.h"
diff --git a/block/file-win32.c b/block/file-win32.c
index ec9d64d..12be9c3 100644
--- a/block/file-win32.c
+++ b/block/file-win32.c
@@ -25,6 +25,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "qemu/cutils.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qemu/module.h"
#include "qemu/option.h"
diff --git a/block/filter-compress.c b/block/filter-compress.c
index 305716c..0ff8d28 100644
--- a/block/filter-compress.c
+++ b/block/filter-compress.c
@@ -22,6 +22,7 @@
*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qemu/module.h"
#include "qapi/error.h"
diff --git a/block/gluster.c b/block/gluster.c
index 7efc296..1ad19ae 100644
--- a/block/gluster.c
+++ b/block/gluster.c
@@ -11,6 +11,7 @@
#include "qemu/osdep.h"
#include "qemu/units.h"
#include <glusterfs/api/glfs.h>
+#include "block/block-io.h"
#include "block/block_int.h"
#include "block/qdict.h"
#include "qapi/error.h"
diff --git a/block/io.c b/block/io.c
index a09b1b3..a09a19f 100644
--- a/block/io.c
+++ b/block/io.c
@@ -30,6 +30,7 @@
#include "block/blockjob_int.h"
#include "block/block_int.h"
#include "block/coroutines.h"
+#include "block/dirty-bitmap.h"
#include "block/write-threshold.h"
#include "qemu/cutils.h"
#include "qemu/memalign.h"
diff --git a/block/iscsi.c b/block/iscsi.c
index a316d46..c16c592 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -33,6 +33,7 @@
#include "qemu/error-report.h"
#include "qemu/bitops.h"
#include "qemu/bitmap.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "block/qdict.h"
#include "scsi/constants.h"
diff --git a/block/mirror.c b/block/mirror.c
index 251adc5..634815d 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -18,6 +18,7 @@
#include "trace.h"
#include "block/blockjob_int.h"
#include "block/block_int.h"
+#include "block/dirty-bitmap.h"
#include "sysemu/block-backend.h"
#include "qapi/error.h"
#include "qapi/qmp/qerror.h"
diff --git a/block/monitor/bitmap-qmp-cmds.c b/block/monitor/bitmap-qmp-cmds.c
index 2823636..55f778f 100644
--- a/block/monitor/bitmap-qmp-cmds.c
+++ b/block/monitor/bitmap-qmp-cmds.c
@@ -32,7 +32,9 @@
#include "qemu/osdep.h"
+#include "block/block-io.h"
#include "block/block_int.h"
+#include "block/dirty-bitmap.h"
#include "qapi/qapi-commands-block.h"
#include "qapi/error.h"
diff --git a/block/nfs.c b/block/nfs.c
index ece2235..5e288df 100644
--- a/block/nfs.c
+++ b/block/nfs.c
@@ -30,6 +30,7 @@
#include "qemu/config-file.h"
#include "qemu/error-report.h"
#include "qapi/error.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "block/qdict.h"
#include "trace.h"
diff --git a/block/null.c b/block/null.c
index 75f7d0d..306e605 100644
--- a/block/null.c
+++ b/block/null.c
@@ -16,6 +16,7 @@
#include "qapi/qmp/qstring.h"
#include "qemu/module.h"
#include "qemu/option.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "sysemu/replay.h"
diff --git a/block/nvme.c b/block/nvme.c
index 656624c..1f13676 100644
--- a/block/nvme.c
+++ b/block/nvme.c
@@ -23,6 +23,7 @@
#include "qemu/option.h"
#include "qemu/memalign.h"
#include "qemu/vfio-helpers.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "sysemu/replay.h"
#include "trace.h"
diff --git a/block/parallels-ext.c b/block/parallels-ext.c
index c9dbbf5..8a109f0 100644
--- a/block/parallels-ext.c
+++ b/block/parallels-ext.c
@@ -25,7 +25,9 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
+#include "block/block-io.h"
#include "block/block_int.h"
+#include "block/dirty-bitmap.h"
#include "parallels.h"
#include "crypto/hash.h"
#include "qemu/uuid.h"
diff --git a/block/preallocate.c b/block/preallocate.c
index d50ee7f..a51fc08 100644
--- a/block/preallocate.c
+++ b/block/preallocate.c
@@ -30,6 +30,7 @@
#include "qemu/module.h"
#include "qemu/option.h"
#include "qemu/units.h"
+#include "block/block-io.h"
#include "block/block_int.h"
diff --git a/block/qapi-sysemu.c b/block/qapi-sysemu.c
index 0c7a142..7bd7554 100644
--- a/block/qapi-sysemu.c
+++ b/block/qapi-sysemu.c
@@ -32,6 +32,7 @@
#include "qemu/osdep.h"
+#include "block/block_int.h"
#include "qapi/error.h"
#include "qapi/qapi-commands-block.h"
#include "qapi/qmp/qdict.h"
diff --git a/block/qapi.c b/block/qapi.c
index fea8084..9b4da12 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -26,6 +26,7 @@
#include "qemu/cutils.h"
#include "block/qapi.h"
#include "block/block_int.h"
+#include "block/dirty-bitmap.h"
#include "block/throttle-groups.h"
#include "block/write-threshold.h"
#include "qapi/error.h"
diff --git a/block/qcow2-bitmap.c b/block/qcow2-bitmap.c
index bcad567..385260a 100644
--- a/block/qcow2-bitmap.c
+++ b/block/qcow2-bitmap.c
@@ -26,6 +26,8 @@
*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
+#include "block/dirty-bitmap.h"
#include "qapi/error.h"
#include "qemu/cutils.h"
diff --git a/block/qcow2-cache.c b/block/qcow2-cache.c
index 54b2d5f..01c67bd 100644
--- a/block/qcow2-cache.c
+++ b/block/qcow2-cache.c
@@ -23,6 +23,7 @@
*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
#include "qemu/memalign.h"
#include "qcow2.h"
#include "trace.h"
diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c
index 40ed847..870be10 100644
--- a/block/qcow2-cluster.c
+++ b/block/qcow2-cluster.c
@@ -25,6 +25,7 @@
#include "qemu/osdep.h"
#include <zlib.h>
+#include "block/block-io.h"
#include "qapi/error.h"
#include "qcow2.h"
#include "qemu/bswap.h"
diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c
index 8126474..5ffbefe 100644
--- a/block/qcow2-refcount.c
+++ b/block/qcow2-refcount.c
@@ -23,6 +23,7 @@
*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
#include "qapi/error.h"
#include "qcow2.h"
#include "qemu/range.h"
diff --git a/block/qcow2-threads.c b/block/qcow2-threads.c
index 1914baf..953bbe6 100644
--- a/block/qcow2-threads.c
+++ b/block/qcow2-threads.c
@@ -34,6 +34,7 @@
#endif
#include "qcow2.h"
+#include "block/block-io.h"
#include "block/thread-pool.h"
#include "crypto.h"
diff --git a/block/qcow2.c b/block/qcow2.c
index bafbd07..2e9c57e 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -43,6 +43,7 @@
#include "qapi/qapi-visit-block-core.h"
#include "crypto.h"
#include "block/aio_task.h"
+#include "block/dirty-bitmap.h"
/*
Differences with QCOW:
diff --git a/block/qed-check.c b/block/qed-check.c
index 418033e..a6612be 100644
--- a/block/qed-check.c
+++ b/block/qed-check.c
@@ -12,6 +12,7 @@
*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
#include "qed.h"
typedef struct {
diff --git a/block/qed-table.c b/block/qed-table.c
index aa203f2..e41c87a 100644
--- a/block/qed-table.c
+++ b/block/qed-table.c
@@ -13,6 +13,7 @@
*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
#include "trace.h"
#include "qemu/sockets.h" /* for EINPROGRESS on Windows */
#include "qed.h"
diff --git a/block/raw-format.c b/block/raw-format.c
index 28905b0..b6a0ce5 100644
--- a/block/raw-format.c
+++ b/block/raw-format.c
@@ -27,6 +27,7 @@
*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qapi/error.h"
#include "qemu/module.h"
diff --git a/block/rbd.c b/block/rbd.c
index 3aa6aae..6167c5e 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -18,6 +18,7 @@
#include "qemu/error-report.h"
#include "qemu/module.h"
#include "qemu/option.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "block/qdict.h"
#include "crypto/secret.h"
diff --git a/block/ssh.c b/block/ssh.c
index 8508710..8bd2a13 100644
--- a/block/ssh.c
+++ b/block/ssh.c
@@ -27,6 +27,7 @@
#include <libssh/libssh.h>
#include <libssh/sftp.h>
+#include "block/block-io.h"
#include "block/block_int.h"
#include "block/qdict.h"
#include "qapi/error.h"
diff --git a/block/throttle.c b/block/throttle.c
index 88851c8..00cb46d 100644
--- a/block/throttle.c
+++ b/block/throttle.c
@@ -18,6 +18,8 @@
*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
+#include "block/block_int.h"
#include "block/throttle-groups.h"
#include "qemu/module.h"
#include "qemu/option.h"
diff --git a/block/vhdx-log.c b/block/vhdx-log.c
index 572582b..c48cf65 100644
--- a/block/vhdx-log.c
+++ b/block/vhdx-log.c
@@ -20,6 +20,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "qemu/error-report.h"
#include "qemu/bswap.h"
diff --git a/block/vvfat.c b/block/vvfat.c
index 723c912..d7d775b 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -27,6 +27,7 @@
#include <dirent.h>
#include <glib/gstdio.h>
#include "qapi/error.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "block/qdict.h"
#include "qemu/module.h"
diff --git a/block/win32-aio.c b/block/win32-aio.c
index aadc7b1..ee87d60 100644
--- a/block/win32-aio.c
+++ b/block/win32-aio.c
@@ -24,6 +24,7 @@
#include "qemu/osdep.h"
#include "qemu/timer.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "block/aio.h"
#include "block/raw-aio.h"
diff --git a/block/write-threshold.c b/block/write-threshold.c
index 35cafbc..76d8885 100644
--- a/block/write-threshold.c
+++ b/block/write-threshold.c
@@ -11,6 +11,7 @@
*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
#include "block/block_int.h"
#include "block/write-threshold.h"
#include "qapi/error.h"
diff --git a/blockdev.c b/blockdev.c
index ebf952c..fe9d8d8 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -35,6 +35,7 @@
#include "sysemu/blockdev.h"
#include "hw/block/block.h"
#include "block/blockjob.h"
+#include "block/dirty-bitmap.h"
#include "block/qdict.h"
#include "block/throttle-groups.h"
#include "monitor/monitor.h"
diff --git a/blockjob.c b/blockjob.c
index 54b4091..659c3cb 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -24,6 +24,7 @@
*/
#include "qemu/osdep.h"
+#include "block/aio-wait.h"
#include "block/block.h"
#include "block/blockjob_int.h"
#include "block/block_int.h"
diff --git a/hw/block/block.c b/hw/block/block.c
index f9c4fe6..ddcef71f 100644
--- a/hw/block/block.c
+++ b/hw/block/block.c
@@ -8,6 +8,7 @@
*/
#include "qemu/osdep.h"
+#include "block/block_int-common.h"
#include "sysemu/blockdev.h"
#include "sysemu/block-backend.h"
#include "hw/block/block.h"
diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
index ccad2c4..ab3c4ec 100644
--- a/hw/sparc64/niagara.c
+++ b/hw/sparc64/niagara.c
@@ -23,6 +23,7 @@
*/
#include "qemu/osdep.h"
+#include "block/block_int-common.h"
#include "qemu/units.h"
#include "cpu.h"
#include "hw/boards.h"
diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c
index a1abfe0..dff402f 100644
--- a/hw/virtio/virtio-pmem.c
+++ b/hw/virtio/virtio-pmem.c
@@ -14,6 +14,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "qemu/error-report.h"
+#include "qemu/iov.h"
#include "qemu/main-loop.h"
#include "hw/virtio/virtio-pmem.h"
#include "hw/qdev-properties.h"
diff --git a/include/block/block-common.h b/include/block/block-common.h
index 434ffc5..4168681 100644
--- a/include/block/block-common.h
+++ b/include/block/block-common.h
@@ -24,12 +24,8 @@
#ifndef BLOCK_COMMON_H
#define BLOCK_COMMON_H
-#include "block/aio.h"
-#include "block/aio-wait.h"
-#include "qemu/iov.h"
-#include "block/accounting.h"
-#include "qemu/hbitmap.h"
-#include "qemu/transactions.h"
+#include "qapi/qapi-types-block-core.h"
+#include "qemu/queue.h"
/*
* co_wrapper{*}: Function specifiers used by block-coroutine-wrapper.py
@@ -55,7 +51,6 @@
#define co_wrapper_bdrv_rdlock
#define co_wrapper_mixed_bdrv_rdlock
-#include "block/dirty-bitmap.h"
#include "block/blockjob.h"
/* block.c */
diff --git a/include/block/block-copy.h b/include/block/block-copy.h
index 8cea4f9..d0f8386 100644
--- a/include/block/block-copy.h
+++ b/include/block/block-copy.h
@@ -15,8 +15,8 @@
#ifndef BLOCK_COPY_H
#define BLOCK_COPY_H
-#include "block/block.h"
-#include "qemu/co-shared-resource.h"
+#include "block/block-common.h"
+#include "qemu/progress_meter.h"
/* All APIs are thread-safe */
diff --git a/include/block/block-global-state.h b/include/block/block-global-state.h
index b0a3cfe..a38f86d 100644
--- a/include/block/block-global-state.h
+++ b/include/block/block-global-state.h
@@ -24,7 +24,9 @@
#ifndef BLOCK_GLOBAL_STATE_H
#define BLOCK_GLOBAL_STATE_H
-#include "block-common.h"
+#include "block/block-common.h"
+#include "qemu/coroutine.h"
+#include "qemu/transactions.h"
/*
* Global state (GS) API. These functions run under the BQL.
diff --git a/include/block/block-hmp-cmds.h b/include/block/block-hmp-cmds.h
index ba0593c..71113cd 100644
--- a/include/block/block-hmp-cmds.h
+++ b/include/block/block-hmp-cmds.h
@@ -15,6 +15,8 @@
#ifndef BLOCK_BLOCK_HMP_CMDS_H
#define BLOCK_BLOCK_HMP_CMDS_H
+#include "qemu/coroutine.h"
+
void hmp_drive_add(Monitor *mon, const QDict *qdict);
void hmp_commit(Monitor *mon, const QDict *qdict);
diff --git a/include/block/block-io.h b/include/block/block-io.h
index 2ed6214..3398351 100644
--- a/include/block/block-io.h
+++ b/include/block/block-io.h
@@ -24,7 +24,10 @@
#ifndef BLOCK_IO_H
#define BLOCK_IO_H
-#include "block-common.h"
+#include "block/aio-wait.h"
+#include "block/block-common.h"
+#include "qemu/coroutine.h"
+#include "qemu/iov.h"
/*
* I/O API functions. These functions are thread-safe, and therefore
diff --git a/include/block/block.h b/include/block/block.h
index 1e6b8fe..e2c647d 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -24,8 +24,8 @@
#ifndef BLOCK_H
#define BLOCK_H
-#include "block-global-state.h"
-#include "block-io.h"
+#include "block/block-global-state.h"
+#include "block/block-io.h"
/* DO NOT ADD ANYTHING IN HERE. USE ONE OF THE HEADERS INCLUDED ABOVE */
diff --git a/include/block/block_backup.h b/include/block/block_backup.h
index 157596c..4d4d5ba 100644
--- a/include/block/block_backup.h
+++ b/include/block/block_backup.h
@@ -18,7 +18,7 @@
#ifndef BLOCK_BACKUP_H
#define BLOCK_BACKUP_H
-#include "block/block_int.h"
+#include "block/blockjob.h"
void backup_do_checkpoint(BlockJob *job, Error **errp);
diff --git a/include/block/block_int-common.h b/include/block/block_int-common.h
index c34c525..887ace7 100644
--- a/include/block/block_int-common.h
+++ b/include/block/block_int-common.h
@@ -24,17 +24,13 @@
#ifndef BLOCK_INT_COMMON_H
#define BLOCK_INT_COMMON_H
-#include "block/accounting.h"
-#include "block/block.h"
-#include "block/aio-wait.h"
-#include "qemu/queue.h"
-#include "qemu/coroutine.h"
-#include "qemu/stats64.h"
-#include "qemu/timer.h"
-#include "qemu/hbitmap.h"
+#include "block/aio.h"
+#include "block/block-common.h"
+#include "block/block-global-state.h"
#include "block/snapshot.h"
-#include "qemu/throttle.h"
+#include "qemu/iov.h"
#include "qemu/rcu.h"
+#include "qemu/stats64.h"
#define BLOCK_FLAG_LAZY_REFCOUNTS 8
diff --git a/include/block/block_int-global-state.h b/include/block/block_int-global-state.h
index 2f0993f..902406e 100644
--- a/include/block/block_int-global-state.h
+++ b/include/block/block_int-global-state.h
@@ -25,7 +25,10 @@
#ifndef BLOCK_INT_GLOBAL_STATE_H
#define BLOCK_INT_GLOBAL_STATE_H
-#include "block_int-common.h"
+#include "block/blockjob.h"
+#include "block/block_int-common.h"
+#include "qemu/hbitmap.h"
+#include "qemu/main-loop.h"
/*
* Global state (GS) API. These functions run under the BQL.
diff --git a/include/block/block_int-io.h b/include/block/block_int-io.h
index 8bc061e..4436721 100644
--- a/include/block/block_int-io.h
+++ b/include/block/block_int-io.h
@@ -24,7 +24,9 @@
#ifndef BLOCK_INT_IO_H
#define BLOCK_INT_IO_H
-#include "block_int-common.h"
+#include "block/block_int-common.h"
+#include "qemu/hbitmap.h"
+#include "qemu/main-loop.h"
/*
* I/O API functions. These functions are thread-safe.
diff --git a/include/block/block_int.h b/include/block/block_int.h
index b35b013..567a178 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -24,8 +24,8 @@
#ifndef BLOCK_INT_H
#define BLOCK_INT_H
-#include "block_int-global-state.h"
-#include "block_int-io.h"
+#include "block/block_int-global-state.h"
+#include "block/block_int-io.h"
#include "block/graph-lock.h"
/* DO NOT ADD ANYTHING IN HERE. USE ONE OF THE HEADERS INCLUDED ABOVE */
diff --git a/include/block/blockjob.h b/include/block/blockjob.h
index 03032b2..058b0c8 100644
--- a/include/block/blockjob.h
+++ b/include/block/blockjob.h
@@ -26,8 +26,8 @@
#ifndef BLOCKJOB_H
#define BLOCKJOB_H
+#include "qapi/qapi-types-block-core.h"
#include "qemu/job.h"
-#include "block/block.h"
#include "qemu/ratelimit.h"
#define BLOCK_JOB_SLICE_TIME 100000000ULL /* ns */
diff --git a/include/block/blockjob_int.h b/include/block/blockjob_int.h
index 6bd9ae2..f008446 100644
--- a/include/block/blockjob_int.h
+++ b/include/block/blockjob_int.h
@@ -27,7 +27,6 @@
#define BLOCKJOB_INT_H
#include "block/blockjob.h"
-#include "block/block.h"
/**
* BlockJobDriver:
diff --git a/include/block/dirty-bitmap.h b/include/block/dirty-bitmap.h
index c3700ce..233535e 100644
--- a/include/block/dirty-bitmap.h
+++ b/include/block/dirty-bitmap.h
@@ -1,6 +1,7 @@
#ifndef BLOCK_DIRTY_BITMAP_H
#define BLOCK_DIRTY_BITMAP_H
+#include "block/block-common.h"
#include "qapi/qapi-types-block-core.h"
#include "qemu/hbitmap.h"
diff --git a/include/block/qapi.h b/include/block/qapi.h
index 22c7807..865fb97 100644
--- a/include/block/qapi.h
+++ b/include/block/qapi.h
@@ -25,8 +25,8 @@
#ifndef BLOCK_QAPI_H
#define BLOCK_QAPI_H
-#include "block/block.h"
#include "block/snapshot.h"
+#include "qapi/qapi-types-block-core.h"
BlockDeviceInfo *bdrv_block_device_info(BlockBackend *blk,
BlockDriverState *bs,
diff --git a/include/block/thread-pool.h b/include/block/thread-pool.h
index 2020bcc..95ff2b0 100644
--- a/include/block/thread-pool.h
+++ b/include/block/thread-pool.h
@@ -18,7 +18,7 @@
#ifndef QEMU_THREAD_POOL_H
#define QEMU_THREAD_POOL_H
-#include "block/block.h"
+#include "block/aio.h"
#define THREAD_POOL_MAX_THREADS_DEFAULT 64
diff --git a/include/block/throttle-groups.h b/include/block/throttle-groups.h
index 9541b32..ff282fc 100644
--- a/include/block/throttle-groups.h
+++ b/include/block/throttle-groups.h
@@ -25,8 +25,8 @@
#ifndef THROTTLE_GROUPS_H
#define THROTTLE_GROUPS_H
+#include "qemu/coroutine.h"
#include "qemu/throttle.h"
-#include "block/block_int.h"
#include "qom/object.h"
/* The ThrottleGroupMember structure indicates membership in a ThrottleGroup
diff --git a/include/sysemu/block-backend-io.h b/include/sysemu/block-backend-io.h
index 7ec6d97..031a27b 100644
--- a/include/sysemu/block-backend-io.h
+++ b/include/sysemu/block-backend-io.h
@@ -14,6 +14,7 @@
#define BLOCK_BACKEND_IO_H
#include "block-backend-common.h"
+#include "block/accounting.h"
/*
* I/O API functions. These functions are thread-safe.
diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c
index 283017d..15127d4 100644
--- a/migration/block-dirty-bitmap.c
+++ b/migration/block-dirty-bitmap.c
@@ -61,6 +61,7 @@
#include "qemu/osdep.h"
#include "block/block.h"
#include "block/block_int.h"
+#include "block/dirty-bitmap.h"
#include "sysemu/block-backend.h"
#include "sysemu/runstate.h"
#include "qemu/main-loop.h"
diff --git a/migration/block.c b/migration/block.c
index 4347da1..5da15a6 100644
--- a/migration/block.c
+++ b/migration/block.c
@@ -20,6 +20,7 @@
#include "qemu/cutils.h"
#include "qemu/queue.h"
#include "block.h"
+#include "block/dirty-bitmap.h"
#include "migration/misc.h"
#include "migration.h"
#include "migration/register.h"
diff --git a/migration/savevm.c b/migration/savevm.c
index a0cdb71..a783789 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -52,6 +52,7 @@
#include "exec/target_page.h"
#include "trace.h"
#include "qemu/iov.h"
+#include "qemu/job.h"
#include "qemu/main-loop.h"
#include "block/snapshot.h"
#include "qemu/cutils.h"
diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c
index 2932b3f..e0e1fdf 100644
--- a/monitor/qmp-cmds.c
+++ b/monitor/qmp-cmds.c
@@ -14,6 +14,7 @@
*/
#include "qemu/osdep.h"
+#include "block/blockjob.h"
#include "qemu/cutils.h"
#include "qemu/option.h"
#include "monitor/monitor.h"
diff --git a/nbd/server.c b/nbd/server.c
index 67ed333..a4750e4 100644
--- a/nbd/server.c
+++ b/nbd/server.c
@@ -19,7 +19,9 @@
#include "qemu/osdep.h"
+#include "block/block_int.h"
#include "block/export.h"
+#include "block/dirty-bitmap.h"
#include "qapi/error.h"
#include "qemu/queue.h"
#include "trace.h"
diff --git a/qemu-img.c b/qemu-img.c
index 439d8de..7e73c5c 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -48,6 +48,7 @@
#include "sysemu/block-backend.h"
#include "block/block_int.h"
#include "block/blockjob.h"
+#include "block/dirty-bitmap.h"
#include "block/qapi.h"
#include "crypto/init.h"
#include "trace/control.h"
diff --git a/scripts/block-coroutine-wrapper.py b/scripts/block-coroutine-wrapper.py
index 6e087fa..dff3af4 100644
--- a/scripts/block-coroutine-wrapper.py
+++ b/scripts/block-coroutine-wrapper.py
@@ -42,7 +42,8 @@ def gen_header():
#include "qemu/osdep.h"
#include "block/coroutines.h"
#include "block/block-gen.h"
-#include "block/block_int.h"\
+#include "block/block_int.h"
+#include "block/dirty-bitmap.h"
"""
diff --git a/softmmu/cpus.c b/softmmu/cpus.c
index 5a584a8..9cbc817 100644
--- a/softmmu/cpus.c
+++ b/softmmu/cpus.c
@@ -34,6 +34,7 @@
#include "sysemu/hw_accel.h"
#include "exec/cpu-common.h"
#include "qemu/thread.h"
+#include "qemu/main-loop.h"
#include "qemu/plugin.h"
#include "sysemu/cpus.h"
#include "qemu/guest-random.h"
diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index edec095..cd5b6a1 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -23,6 +23,7 @@
#include "qemu/cutils.h"
#include "qemu/cacheflush.h"
+#include "qemu/hbitmap.h"
#include "qemu/madvise.h"
#ifdef CONFIG_TCG
diff --git a/storage-daemon/qemu-storage-daemon.c b/storage-daemon/qemu-storage-daemon.c
index 7718f6d..da19498 100644
--- a/storage-daemon/qemu-storage-daemon.c
+++ b/storage-daemon/qemu-storage-daemon.c
@@ -48,6 +48,7 @@
#include "qemu/config-file.h"
#include "qemu/error-report.h"
#include "qemu/help_option.h"
+#include "qemu/job.h"
#include "qemu/log.h"
#include "qemu/main-loop.h"
#include "qemu/module.h"
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index 0ab4e07..5870301 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -37,6 +37,7 @@
#include "exec/gdbstub.h"
#include "qemu/host-utils.h"
#include "qemu/main-loop.h"
+#include "qemu/ratelimit.h"
#include "qemu/config-file.h"
#include "qemu/error-report.h"
#include "qemu/memalign.h"
diff --git a/tests/unit/test-bdrv-drain.c b/tests/unit/test-bdrv-drain.c
index 8cedea4..4fed8b7 100644
--- a/tests/unit/test-bdrv-drain.c
+++ b/tests/unit/test-bdrv-drain.c
@@ -23,7 +23,7 @@
*/
#include "qemu/osdep.h"
-#include "block/block.h"
+#include "block/block_int.h"
#include "block/blockjob_int.h"
#include "sysemu/block-backend.h"
#include "qapi/error.h"
diff --git a/tests/unit/test-block-iothread.c b/tests/unit/test-block-iothread.c
index 8ca5ade..ff5147f 100644
--- a/tests/unit/test-block-iothread.c
+++ b/tests/unit/test-block-iothread.c
@@ -24,6 +24,7 @@
#include "qemu/osdep.h"
#include "block/block.h"
+#include "block/block_int-global-state.h"
#include "block/blockjob_int.h"
#include "sysemu/block-backend.h"
#include "qapi/error.h"