diff --git a/aes.c b/aes.c
index eb37adb..1da7bff 100644
--- a/aes.c
+++ b/aes.c
@@ -28,7 +28,7 @@
  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 #include "qemu-common.h"
-#include "aes.h"
+#include "block/aes.h"
 
 #ifndef NDEBUG
 #define NDEBUG
diff --git a/aio-posix.c b/aio-posix.c
index 05cc84e..d1e1bc2 100644
--- a/aio-posix.c
+++ b/aio-posix.c
@@ -14,7 +14,7 @@
  */
 
 #include "qemu-common.h"
-#include "block.h"
+#include "block/block.h"
 #include "qemu-queue.h"
 #include "qemu_socket.h"
 
diff --git a/aio-win32.c b/aio-win32.c
index cec4646..9a26f9c 100644
--- a/aio-win32.c
+++ b/aio-win32.c
@@ -16,7 +16,7 @@
  */
 
 #include "qemu-common.h"
-#include "block.h"
+#include "block/block.h"
 #include "qemu-queue.h"
 #include "qemu_socket.h"
 
diff --git a/async.c b/async.c
index 41ae0c1..6df4caf 100644
--- a/async.c
+++ b/async.c
@@ -23,7 +23,7 @@
  */
 
 #include "qemu-common.h"
-#include "qemu-aio.h"
+#include "block/aio.h"
 #include "main-loop.h"
 
 /***********************************************************/
diff --git a/block-migration.c b/block-migration.c
index 71b9601..c15de9f 100644
--- a/block-migration.c
+++ b/block-migration.c
@@ -14,7 +14,7 @@
  */
 
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "hw/hw.h"
 #include "qemu-queue.h"
 #include "qemu-timer.h"
diff --git a/block.c b/block.c
index e962a5a..5eab9e2 100644
--- a/block.c
+++ b/block.c
@@ -25,13 +25,13 @@
 #include "qemu-common.h"
 #include "trace.h"
 #include "monitor.h"
-#include "block_int.h"
-#include "blockjob.h"
+#include "block/block_int.h"
+#include "block/blockjob.h"
 #include "module.h"
 #include "qapi/qmp/qjson.h"
 #include "sysemu.h"
 #include "notify.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "qmp-commands.h"
 #include "qemu-timer.h"
 
diff --git a/block/blkdebug.c b/block/blkdebug.c
index 65556e7..cd2866e 100644
--- a/block/blkdebug.c
+++ b/block/blkdebug.c
@@ -24,7 +24,7 @@
 
 #include "qemu-common.h"
 #include "qemu-config.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 
 typedef struct BDRVBlkdebugState {
diff --git a/block/blkverify.c b/block/blkverify.c
index 4beede7..cde5098 100644
--- a/block/blkverify.c
+++ b/block/blkverify.c
@@ -9,7 +9,7 @@
 
 #include <stdarg.h>
 #include "qemu_socket.h" /* for EINPROGRESS on Windows */
-#include "block_int.h"
+#include "block/block_int.h"
 
 typedef struct {
     BlockDriverState *test_file;
diff --git a/block/bochs.c b/block/bochs.c
index ab7944d..2cc7524 100644
--- a/block/bochs.c
+++ b/block/bochs.c
@@ -23,7 +23,7 @@
  * THE SOFTWARE.
  */
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 
 /**************************************************************/
diff --git a/block/cloop.c b/block/cloop.c
index 7570eb8..da29ff3 100644
--- a/block/cloop.c
+++ b/block/cloop.c
@@ -22,7 +22,7 @@
  * THE SOFTWARE.
  */
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 #include <zlib.h>
 
diff --git a/block/commit.c b/block/commit.c
index e2bb1e2..61ebdba 100644
--- a/block/commit.c
+++ b/block/commit.c
@@ -13,8 +13,8 @@
  */
 
 #include "trace.h"
-#include "block_int.h"
-#include "blockjob.h"
+#include "block/block_int.h"
+#include "block/blockjob.h"
 #include "qemu/ratelimit.h"
 
 enum {
diff --git a/block/cow.c b/block/cow.c
index a5a00eb..1438ae1 100644
--- a/block/cow.c
+++ b/block/cow.c
@@ -22,7 +22,7 @@
  * THE SOFTWARE.
  */
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 
 /**************************************************************/
diff --git a/block/curl.c b/block/curl.c
index 1179484..47df952 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -22,7 +22,7 @@
  * THE SOFTWARE.
  */
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include <curl/curl.h>
 
 // #define DEBUG
diff --git a/block/dmg.c b/block/dmg.c
index 37902a4..6ee505a 100644
--- a/block/dmg.c
+++ b/block/dmg.c
@@ -22,7 +22,7 @@
  * THE SOFTWARE.
  */
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "bswap.h"
 #include "module.h"
 #include <zlib.h>
diff --git a/block/gluster.c b/block/gluster.c
index 1c90174..4cb4e60 100644
--- a/block/gluster.c
+++ b/block/gluster.c
@@ -16,7 +16,7 @@
  * GNU GPL, version 2 or (at your option) any later version.
  */
 #include <glusterfs/api/glfs.h>
-#include "block_int.h"
+#include "block/block_int.h"
 #include "qemu_socket.h"
 #include "uri.h"
 
diff --git a/block/iscsi.c b/block/iscsi.c
index 33b93d8..77e619a 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -29,7 +29,7 @@
 #include "qemu-common.h"
 #include "qemu-config.h"
 #include "qemu-error.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "trace.h"
 #include "hw/scsi-defs.h"
 
diff --git a/block/linux-aio.c b/block/linux-aio.c
index 91ef863..28e5a04 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -8,7 +8,7 @@
  * See the COPYING file in the top-level directory.
  */
 #include "qemu-common.h"
-#include "qemu-aio.h"
+#include "block/aio.h"
 #include "qemu-queue.h"
 #include "block/raw-aio.h"
 #include "event_notifier.h"
diff --git a/block/mirror.c b/block/mirror.c
index b1f5d4f..8aeacbf 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -12,8 +12,8 @@
  */
 
 #include "trace.h"
-#include "blockjob.h"
-#include "block_int.h"
+#include "block/blockjob.h"
+#include "block/block_int.h"
 #include "qemu/ratelimit.h"
 
 enum {
diff --git a/block/nbd.c b/block/nbd.c
index e87c248..38d6b90 100644
--- a/block/nbd.c
+++ b/block/nbd.c
@@ -27,9 +27,9 @@
  */
 
 #include "qemu-common.h"
-#include "nbd.h"
+#include "block/nbd.h"
 #include "uri.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 #include "qemu_socket.h"
 
diff --git a/block/parallels.c b/block/parallels.c
index d30f0ec..ae88cd6 100644
--- a/block/parallels.c
+++ b/block/parallels.c
@@ -24,7 +24,7 @@
  * THE SOFTWARE.
  */
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 
 /**************************************************************/
diff --git a/block/qcow.c b/block/qcow.c
index b239c82..d13bd40 100644
--- a/block/qcow.c
+++ b/block/qcow.c
@@ -22,10 +22,10 @@
  * THE SOFTWARE.
  */
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 #include <zlib.h>
-#include "aes.h"
+#include "block/aes.h"
 #include "migration.h"
 
 /**************************************************************/
diff --git a/block/qcow2-cache.c b/block/qcow2-cache.c
index 2d4322a..2f3114e 100644
--- a/block/qcow2-cache.c
+++ b/block/qcow2-cache.c
@@ -22,7 +22,7 @@
  * THE SOFTWARE.
  */
 
-#include "block_int.h"
+#include "block/block_int.h"
 #include "qemu-common.h"
 #include "qcow2.h"
 #include "trace.h"
diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c
index 468ef1b..56fccf9 100644
--- a/block/qcow2-cluster.c
+++ b/block/qcow2-cluster.c
@@ -25,7 +25,7 @@
 #include <zlib.h>
 
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "block/qcow2.h"
 #include "trace.h"
 
diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c
index 96224d1..6a95aa6 100644
--- a/block/qcow2-refcount.c
+++ b/block/qcow2-refcount.c
@@ -23,7 +23,7 @@
  */
 
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "block/qcow2.h"
 
 static int64_t alloc_clusters_noref(BlockDriverState *bs, int64_t size);
diff --git a/block/qcow2-snapshot.c b/block/qcow2-snapshot.c
index 4e7c93b..eb8fcd5 100644
--- a/block/qcow2-snapshot.c
+++ b/block/qcow2-snapshot.c
@@ -23,7 +23,7 @@
  */
 
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "block/qcow2.h"
 
 typedef struct QEMU_PACKED QCowSnapshotHeader {
diff --git a/block/qcow2.c b/block/qcow2.c
index 217b4e4..205d910 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -22,10 +22,10 @@
  * THE SOFTWARE.
  */
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 #include <zlib.h>
-#include "aes.h"
+#include "block/aes.h"
 #include "block/qcow2.h"
 #include "qemu-error.h"
 #include "qapi/qmp/qerror.h"
diff --git a/block/qcow2.h b/block/qcow2.h
index a60fcb4..718b52b 100644
--- a/block/qcow2.h
+++ b/block/qcow2.h
@@ -25,8 +25,8 @@
 #ifndef BLOCK_QCOW2_H
 #define BLOCK_QCOW2_H
 
-#include "aes.h"
-#include "qemu-coroutine.h"
+#include "block/aes.h"
+#include "block/coroutine.h"
 
 //#define DEBUG_ALLOC
 //#define DEBUG_ALLOC2
diff --git a/block/qed.h b/block/qed.h
index a063bf7..2b4dded 100644
--- a/block/qed.h
+++ b/block/qed.h
@@ -15,7 +15,7 @@
 #ifndef BLOCK_QED_H
 #define BLOCK_QED_H
 
-#include "block_int.h"
+#include "block/block_int.h"
 
 /* The layout of a QED file is as follows:
  *
diff --git a/block/raw-posix.c b/block/raw-posix.c
index 48eff2f..4e73885 100644
--- a/block/raw-posix.c
+++ b/block/raw-posix.c
@@ -24,10 +24,10 @@
 #include "qemu-common.h"
 #include "qemu-timer.h"
 #include "qemu-log.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 #include "trace.h"
-#include "thread-pool.h"
+#include "block/thread-pool.h"
 #include "iov.h"
 #include "raw-aio.h"
 
diff --git a/block/raw-win32.c b/block/raw-win32.c
index ce207a3..9269fe8 100644
--- a/block/raw-win32.c
+++ b/block/raw-win32.c
@@ -23,11 +23,11 @@
  */
 #include "qemu-common.h"
 #include "qemu-timer.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 #include "raw-aio.h"
 #include "trace.h"
-#include "thread-pool.h"
+#include "block/thread-pool.h"
 #include "iov.h"
 #include <windows.h>
 #include <winioctl.h>
diff --git a/block/raw.c b/block/raw.c
index 253e949..6aec93d 100644
--- a/block/raw.c
+++ b/block/raw.c
@@ -1,6 +1,6 @@
 
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 
 static int raw_open(BlockDriverState *bs, int flags)
diff --git a/block/rbd.c b/block/rbd.c
index 737bab1..8def2f1 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -15,7 +15,7 @@
 
 #include "qemu-common.h"
 #include "qemu-error.h"
-#include "block_int.h"
+#include "block/block_int.h"
 
 #include <rbd/librbd.h>
 
diff --git a/block/sheepdog.c b/block/sheepdog.c
index a48f58c..da70df2 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -15,7 +15,7 @@
 #include "qemu-common.h"
 #include "qemu-error.h"
 #include "qemu_socket.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "bitops.h"
 
 #define SD_PROTO_VER 0x01
diff --git a/block/stream.c b/block/stream.c
index 0dcd286..d6df06f 100644
--- a/block/stream.c
+++ b/block/stream.c
@@ -12,8 +12,8 @@
  */
 
 #include "trace.h"
-#include "block_int.h"
-#include "blockjob.h"
+#include "block/block_int.h"
+#include "block/blockjob.h"
 #include "qemu/ratelimit.h"
 
 enum {
diff --git a/block/vdi.c b/block/vdi.c
index c8330b7..dab9cac 100644
--- a/block/vdi.c
+++ b/block/vdi.c
@@ -50,7 +50,7 @@
  */
 
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 #include "migration.h"
 
diff --git a/block/vmdk.c b/block/vmdk.c
index 51398c0..68e50e1 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -24,7 +24,7 @@
  */
 
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 #include "migration.h"
 #include <zlib.h>
diff --git a/block/vpc.c b/block/vpc.c
index 566e9a3..aabd712 100644
--- a/block/vpc.c
+++ b/block/vpc.c
@@ -23,7 +23,7 @@
  * THE SOFTWARE.
  */
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 #include "migration.h"
 #if defined(CONFIG_UUID)
diff --git a/block/vvfat.c b/block/vvfat.c
index 59d3c5b..fbabafc 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -25,7 +25,7 @@
 #include <sys/stat.h>
 #include <dirent.h>
 #include "qemu-common.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 #include "migration.h"
 
diff --git a/block/win32-aio.c b/block/win32-aio.c
index 4704ee0..606e4d6 100644
--- a/block/win32-aio.c
+++ b/block/win32-aio.c
@@ -23,10 +23,10 @@
  */
 #include "qemu-common.h"
 #include "qemu-timer.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "module.h"
 #include "qemu-common.h"
-#include "qemu-aio.h"
+#include "block/aio.h"
 #include "raw-aio.h"
 #include "event_notifier.h"
 #include <windows.h>
diff --git a/blockdev-nbd.c b/blockdev-nbd.c
index a194ecd..81aa1d3 100644
--- a/blockdev-nbd.c
+++ b/blockdev-nbd.c
@@ -16,7 +16,7 @@
 #include "sysemu.h"
 #include "qmp-commands.h"
 #include "trace.h"
-#include "nbd.h"
+#include "block/nbd.h"
 #include "qemu_socket.h"
 
 static int server_fd = -1;
diff --git a/blockdev.c b/blockdev.c
index c85c614..ff6b333 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -9,14 +9,14 @@
 
 #include "blockdev.h"
 #include "hw/block-common.h"
-#include "blockjob.h"
+#include "block/blockjob.h"
 #include "monitor.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu-option.h"
 #include "qemu-config.h"
 #include "qapi/qmp/types.h"
 #include "sysemu.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "qmp-commands.h"
 #include "trace.h"
 #include "arch_init.h"
diff --git a/blockdev.h b/blockdev.h
index 6e36d9f..4134864 100644
--- a/blockdev.h
+++ b/blockdev.h
@@ -10,7 +10,7 @@
 #ifndef BLOCKDEV_H
 #define BLOCKDEV_H
 
-#include "block.h"
+#include "block/block.h"
 #include "qapi/error.h"
 #include "qemu-queue.h"
 
diff --git a/blockjob.c b/blockjob.c
index 8c0a286..004480d 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -27,11 +27,11 @@
 #include "qemu-common.h"
 #include "trace.h"
 #include "monitor.h"
-#include "block.h"
-#include "blockjob.h"
-#include "block_int.h"
+#include "block/block.h"
+#include "block/blockjob.h"
+#include "block/block_int.h"
 #include "qapi/qmp/qjson.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "qmp-commands.h"
 #include "qemu-timer.h"
 
diff --git a/cmd.c b/cmd.c
index f40f09b..01a8c3a 100644
--- a/cmd.c
+++ b/cmd.c
@@ -24,7 +24,7 @@
 #include <getopt.h>
 
 #include "cmd.h"
-#include "qemu-aio.h"
+#include "block/aio.h"
 #include "main-loop.h"
 
 #define _(x)	x	/* not gettext support yet */
diff --git a/coroutine-gthread.c b/coroutine-gthread.c
index 30c24c9..d3e5b99 100644
--- a/coroutine-gthread.c
+++ b/coroutine-gthread.c
@@ -20,7 +20,7 @@
 
 #include <glib.h>
 #include "qemu-common.h"
-#include "qemu-coroutine-int.h"
+#include "block/coroutine_int.h"
 
 typedef struct {
     Coroutine base;
diff --git a/coroutine-sigaltstack.c b/coroutine-sigaltstack.c
index 39dbaa5..e37ebac 100644
--- a/coroutine-sigaltstack.c
+++ b/coroutine-sigaltstack.c
@@ -31,7 +31,7 @@
 #include <pthread.h>
 #include <signal.h>
 #include "qemu-common.h"
-#include "qemu-coroutine-int.h"
+#include "block/coroutine_int.h"
 
 enum {
     /* Maximum free pool size prevents holding too many freed coroutines */
diff --git a/coroutine-ucontext.c b/coroutine-ucontext.c
index 784081a..2ed703a 100644
--- a/coroutine-ucontext.c
+++ b/coroutine-ucontext.c
@@ -28,7 +28,7 @@
 #include <pthread.h>
 #include <ucontext.h>
 #include "qemu-common.h"
-#include "qemu-coroutine-int.h"
+#include "block/coroutine_int.h"
 
 #ifdef CONFIG_VALGRIND_H
 #include <valgrind/valgrind.h>
diff --git a/coroutine-win32.c b/coroutine-win32.c
index 4179609..edc1f72 100644
--- a/coroutine-win32.c
+++ b/coroutine-win32.c
@@ -23,7 +23,7 @@
  */
 
 #include "qemu-common.h"
-#include "qemu-coroutine-int.h"
+#include "block/coroutine_int.h"
 
 typedef struct
 {
diff --git a/dma.h b/dma.h
index eedf878..4028036 100644
--- a/dma.h
+++ b/dma.h
@@ -13,7 +13,7 @@
 #include <stdio.h>
 #include "memory.h"
 #include "hw/hw.h"
-#include "block.h"
+#include "block/block.h"
 #include "kvm.h"
 
 typedef struct DMAContext DMAContext;
diff --git a/hw/9pfs/codir.c b/hw/9pfs/codir.c
index 3d18828..cd13733 100644
--- a/hw/9pfs/codir.c
+++ b/hw/9pfs/codir.c
@@ -14,7 +14,7 @@
 
 #include "fsdev/qemu-fsdev.h"
 #include "qemu-thread.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "virtio-9p-coth.h"
 
 int v9fs_co_readdir_r(V9fsPDU *pdu, V9fsFidState *fidp, struct dirent *dent,
diff --git a/hw/9pfs/cofile.c b/hw/9pfs/cofile.c
index 9345aae..6d6dac7 100644
--- a/hw/9pfs/cofile.c
+++ b/hw/9pfs/cofile.c
@@ -14,7 +14,7 @@
 
 #include "fsdev/qemu-fsdev.h"
 #include "qemu-thread.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "virtio-9p-coth.h"
 
 int v9fs_co_st_gen(V9fsPDU *pdu, V9fsPath *path, mode_t st_mode,
diff --git a/hw/9pfs/cofs.c b/hw/9pfs/cofs.c
index 83f125b..4b9ba30 100644
--- a/hw/9pfs/cofs.c
+++ b/hw/9pfs/cofs.c
@@ -14,7 +14,7 @@
 
 #include "fsdev/qemu-fsdev.h"
 #include "qemu-thread.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "virtio-9p-coth.h"
 
 int v9fs_co_readlink(V9fsPDU *pdu, V9fsPath *path, V9fsString *buf)
diff --git a/hw/9pfs/coxattr.c b/hw/9pfs/coxattr.c
index 8a48228..08365a6 100644
--- a/hw/9pfs/coxattr.c
+++ b/hw/9pfs/coxattr.c
@@ -14,7 +14,7 @@
 
 #include "fsdev/qemu-fsdev.h"
 #include "qemu-thread.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "virtio-9p-coth.h"
 
 int v9fs_co_llistxattr(V9fsPDU *pdu, V9fsPath *path, void *value, size_t size)
diff --git a/hw/9pfs/virtio-9p-coth.c b/hw/9pfs/virtio-9p-coth.c
index 9368df7..958725e 100644
--- a/hw/9pfs/virtio-9p-coth.c
+++ b/hw/9pfs/virtio-9p-coth.c
@@ -14,7 +14,7 @@
 
 #include "fsdev/qemu-fsdev.h"
 #include "qemu-thread.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "virtio-9p-coth.h"
 
 /* v9fs glib thread pool */
diff --git a/hw/9pfs/virtio-9p-coth.h b/hw/9pfs/virtio-9p-coth.h
index c31c965..8c48a16 100644
--- a/hw/9pfs/virtio-9p-coth.h
+++ b/hw/9pfs/virtio-9p-coth.h
@@ -16,7 +16,7 @@
 #define _QEMU_VIRTIO_9P_COTH_H
 
 #include "qemu-thread.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "virtio-9p.h"
 #include <glib.h>
 
diff --git a/hw/9pfs/virtio-9p.h b/hw/9pfs/virtio-9p.h
index 5797944..2c0c3ba 100644
--- a/hw/9pfs/virtio-9p.h
+++ b/hw/9pfs/virtio-9p.h
@@ -10,7 +10,7 @@
 #include "fsdev/file-op-9p.h"
 #include "fsdev/virtio-9p-marshal.h"
 #include "qemu-thread.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 
 
 /* The feature bitmap for virtio 9P */
diff --git a/hw/hd-geometry.c b/hw/hd-geometry.c
index 1cdb9fb..c305143 100644
--- a/hw/hd-geometry.c
+++ b/hw/hd-geometry.c
@@ -30,7 +30,7 @@
  * THE SOFTWARE.
  */
 
-#include "block.h"
+#include "block/block.h"
 #include "hw/block-common.h"
 #include "trace.h"
 
diff --git a/hw/hw.h b/hw/hw.h
index f530f6f..003d974 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -10,7 +10,7 @@
 
 #include "ioport.h"
 #include "irq.h"
-#include "qemu-aio.h"
+#include "block/aio.h"
 #include "qemu-file.h"
 #include "vmstate.h"
 #include "qemu-log.h"
diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c
index 88210ea..f6d15b9 100644
--- a/hw/ide/cmd646.c
+++ b/hw/ide/cmd646.c
@@ -26,7 +26,7 @@
 #include <hw/pc.h>
 #include <hw/pci/pci.h>
 #include <hw/isa.h>
-#include "block.h"
+#include "block/block.h"
 #include "sysemu.h"
 #include "dma.h"
 
diff --git a/hw/ide/ich.c b/hw/ide/ich.c
index 8e1a48e..3457b98 100644
--- a/hw/ide/ich.c
+++ b/hw/ide/ich.c
@@ -65,7 +65,7 @@
 #include <hw/pc.h>
 #include <hw/pci/pci.h>
 #include <hw/isa.h>
-#include "block.h"
+#include "block/block.h"
 #include "dma.h"
 
 #include <hw/ide/pci.h>
diff --git a/hw/ide/isa.c b/hw/ide/isa.c
index 8ab2718..39df87c 100644
--- a/hw/ide/isa.c
+++ b/hw/ide/isa.c
@@ -25,7 +25,7 @@
 #include <hw/hw.h>
 #include <hw/pc.h>
 #include <hw/isa.h>
-#include "block.h"
+#include "block/block.h"
 #include "dma.h"
 
 #include <hw/ide/internal.h>
diff --git a/hw/ide/macio.c b/hw/ide/macio.c
index d2edcc0..87cbb0c 100644
--- a/hw/ide/macio.c
+++ b/hw/ide/macio.c
@@ -25,7 +25,7 @@
 #include <hw/hw.h>
 #include <hw/ppc_mac.h>
 #include <hw/mac_dbdma.h>
-#include "block.h"
+#include "block/block.h"
 #include "dma.h"
 
 #include <hw/ide/internal.h>
diff --git a/hw/ide/microdrive.c b/hw/ide/microdrive.c
index 9eee5b5..6cce523 100644
--- a/hw/ide/microdrive.c
+++ b/hw/ide/microdrive.c
@@ -25,7 +25,7 @@
 #include <hw/hw.h>
 #include <hw/pc.h>
 #include <hw/pcmcia.h>
-#include "block.h"
+#include "block/block.h"
 #include "dma.h"
 
 #include <hw/ide/internal.h>
diff --git a/hw/ide/mmio.c b/hw/ide/mmio.c
index bcb26c8..4044351 100644
--- a/hw/ide/mmio.c
+++ b/hw/ide/mmio.c
@@ -23,7 +23,7 @@
  * THE SOFTWARE.
  */
 #include <hw/hw.h>
-#include "block.h"
+#include "block/block.h"
 #include "dma.h"
 
 #include <hw/ide/internal.h>
diff --git a/hw/ide/pci.c b/hw/ide/pci.c
index 23a0e23..8821d5c 100644
--- a/hw/ide/pci.c
+++ b/hw/ide/pci.c
@@ -26,7 +26,7 @@
 #include <hw/pc.h>
 #include <hw/pci/pci.h>
 #include <hw/isa.h>
-#include "block.h"
+#include "block/block.h"
 #include "dma.h"
 
 #include <hw/ide/pci.h>
diff --git a/hw/ide/via.c b/hw/ide/via.c
index 8b4a24e..880f61c 100644
--- a/hw/ide/via.c
+++ b/hw/ide/via.c
@@ -27,7 +27,7 @@
 #include <hw/pc.h>
 #include <hw/pci/pci.h>
 #include <hw/isa.h>
-#include "block.h"
+#include "block/block.h"
 #include "sysemu.h"
 #include "dma.h"
 
diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c
index bab96b2..b46f7fd 100644
--- a/hw/mips_fulong2e.c
+++ b/hw/mips_fulong2e.c
@@ -25,7 +25,7 @@
 #include "net/net.h"
 #include "boards.h"
 #include "smbus.h"
-#include "block.h"
+#include "block/block.h"
 #include "flash.h"
 #include "mips.h"
 #include "mips_cpudevs.h"
diff --git a/hw/mips_malta.c b/hw/mips_malta.c
index 3f9f171..60f2379 100644
--- a/hw/mips_malta.c
+++ b/hw/mips_malta.c
@@ -29,7 +29,7 @@
 #include "net/net.h"
 #include "boards.h"
 #include "smbus.h"
-#include "block.h"
+#include "block/block.h"
 #include "flash.h"
 #include "mips.h"
 #include "mips_cpudevs.h"
diff --git a/hw/musicpal.c b/hw/musicpal.c
index d16cd14..d7672e9 100644
--- a/hw/musicpal.c
+++ b/hw/musicpal.c
@@ -18,7 +18,7 @@
 #include "serial.h"
 #include "qemu-timer.h"
 #include "ptimer.h"
-#include "block.h"
+#include "block/block.h"
 #include "flash.h"
 #include "ui/console.h"
 #include "i2c.h"
diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c
index 7d040b5..a2f6360 100644
--- a/hw/pflash_cfi01.c
+++ b/hw/pflash_cfi01.c
@@ -38,7 +38,7 @@
 
 #include "hw.h"
 #include "flash.h"
-#include "block.h"
+#include "block/block.h"
 #include "qemu-timer.h"
 #include "exec-memory.h"
 #include "host-utils.h"
diff --git a/hw/pflash_cfi02.c b/hw/pflash_cfi02.c
index f918e36..beab67f 100644
--- a/hw/pflash_cfi02.c
+++ b/hw/pflash_cfi02.c
@@ -38,7 +38,7 @@
 #include "hw.h"
 #include "flash.h"
 #include "qemu-timer.h"
-#include "block.h"
+#include "block/block.h"
 #include "exec-memory.h"
 #include "host-utils.h"
 #include "sysbus.h"
diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c
index 8dc693f..b875e3b 100644
--- a/hw/ppc405_boards.c
+++ b/hw/ppc405_boards.c
@@ -27,7 +27,7 @@
 #include "nvram.h"
 #include "flash.h"
 #include "sysemu.h"
-#include "block.h"
+#include "block/block.h"
 #include "boards.h"
 #include "qemu-log.h"
 #include "loader.h"
diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c
index 169dd46..f7e1939 100644
--- a/hw/s390-virtio-bus.c
+++ b/hw/s390-virtio-bus.c
@@ -18,7 +18,7 @@
  */
 
 #include "hw.h"
-#include "block.h"
+#include "block/block.h"
 #include "sysemu.h"
 #include "boards.h"
 #include "monitor.h"
diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
index 8c724b9..b732bcc 100644
--- a/hw/s390-virtio.c
+++ b/hw/s390-virtio.c
@@ -18,7 +18,7 @@
  */
 
 #include "hw.h"
-#include "block.h"
+#include "block/block.h"
 #include "blockdev.h"
 #include "sysemu.h"
 #include "net/net.h"
diff --git a/hw/scsi.h b/hw/scsi.h
index b8f7357..24ed522 100644
--- a/hw/scsi.h
+++ b/hw/scsi.h
@@ -2,7 +2,7 @@
 #define QEMU_HW_SCSI_H
 
 #include "qdev.h"
-#include "block.h"
+#include "block/block.h"
 #include "hw/block-common.h"
 #include "sysemu.h"
 
diff --git a/hw/sd.c b/hw/sd.c
index 607edba..2e54eea 100644
--- a/hw/sd.c
+++ b/hw/sd.c
@@ -30,7 +30,7 @@
  */
 
 #include "hw.h"
-#include "block.h"
+#include "block/block.h"
 #include "sd.h"
 #include "bitmap.h"
 
diff --git a/hw/spitz.c b/hw/spitz.c
index d4575d2..1500161 100644
--- a/hw/spitz.c
+++ b/hw/spitz.c
@@ -22,7 +22,7 @@
 #include "devices.h"
 #include "sharpsl.h"
 #include "ui/console.h"
-#include "block.h"
+#include "block/block.h"
 #include "audio/audio.h"
 #include "boards.h"
 #include "blockdev.h"
diff --git a/hw/tosa.c b/hw/tosa.c
index 512278c..3991a90 100644
--- a/hw/tosa.c
+++ b/hw/tosa.c
@@ -17,7 +17,7 @@
 #include "devices.h"
 #include "sharpsl.h"
 #include "pcmcia.h"
-#include "block.h"
+#include "block/block.h"
 #include "boards.h"
 #include "i2c.h"
 #include "ssi.h"
diff --git a/aes.h b/include/block/aes.h
similarity index 100%
rename from aes.h
rename to include/block/aes.h
diff --git a/qemu-aio.h b/include/block/aio.h
similarity index 100%
rename from qemu-aio.h
rename to include/block/aio.h
diff --git a/block.h b/include/block/block.h
similarity index 99%
rename from block.h
rename to include/block/block.h
index 0b22892..d49ce4d 100644
--- a/block.h
+++ b/include/block/block.h
@@ -1,10 +1,10 @@
 #ifndef BLOCK_H
 #define BLOCK_H
 
-#include "qemu-aio.h"
+#include "block/aio.h"
 #include "qemu-common.h"
 #include "qemu-option.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "qapi/qmp/qobject.h"
 #include "qapi-types.h"
 
diff --git a/block_int.h b/include/block/block_int.h
similarity index 99%
rename from block_int.h
rename to include/block/block_int.h
index a748b6c..d06de26 100644
--- a/block_int.h
+++ b/include/block/block_int.h
@@ -24,10 +24,10 @@
 #ifndef BLOCK_INT_H
 #define BLOCK_INT_H
 
-#include "block.h"
+#include "block/block.h"
 #include "qemu-option.h"
 #include "qemu-queue.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "qemu-timer.h"
 #include "qapi-types.h"
 #include "qapi/qmp/qerror.h"
diff --git a/blockjob.h b/include/block/blockjob.h
similarity index 99%
rename from blockjob.h
rename to include/block/blockjob.h
index 3792b73..c290d07 100644
--- a/blockjob.h
+++ b/include/block/blockjob.h
@@ -25,7 +25,7 @@
 #ifndef BLOCKJOB_H
 #define BLOCKJOB_H 1
 
-#include "block.h"
+#include "block/block.h"
 
 /**
  * BlockJobType:
diff --git a/qemu-coroutine.h b/include/block/coroutine.h
similarity index 100%
rename from qemu-coroutine.h
rename to include/block/coroutine.h
diff --git a/qemu-coroutine-int.h b/include/block/coroutine_int.h
similarity index 98%
rename from qemu-coroutine-int.h
rename to include/block/coroutine_int.h
index 0f1bd80..282a3ce 100644
--- a/qemu-coroutine-int.h
+++ b/include/block/coroutine_int.h
@@ -26,7 +26,7 @@
 #define QEMU_COROUTINE_INT_H
 
 #include "qemu-queue.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 
 typedef enum {
     COROUTINE_YIELD = 1,
diff --git a/nbd.h b/include/block/nbd.h
similarity index 100%
rename from nbd.h
rename to include/block/nbd.h
diff --git a/thread-pool.h b/include/block/thread-pool.h
similarity index 93%
rename from thread-pool.h
rename to include/block/thread-pool.h
index 378a4ac..a87b287 100644
--- a/thread-pool.h
+++ b/include/block/thread-pool.h
@@ -21,8 +21,8 @@
 #include "qemu-common.h"
 #include "qemu-queue.h"
 #include "qemu-thread.h"
-#include "qemu-coroutine.h"
-#include "block_int.h"
+#include "block/coroutine.h"
+#include "block/block_int.h"
 
 typedef int ThreadPoolFunc(void *opaque);
 
diff --git a/iohandler.c b/iohandler.c
index 258f42d..cf8276d 100644
--- a/iohandler.c
+++ b/iohandler.c
@@ -25,7 +25,7 @@
 #include "config-host.h"
 #include "qemu-common.h"
 #include "qemu-queue.h"
-#include "qemu-aio.h"
+#include "block/aio.h"
 #include "main-loop.h"
 
 #ifndef _WIN32
diff --git a/main-loop.c b/main-loop.c
index 7dba6f6..f900611 100644
--- a/main-loop.c
+++ b/main-loop.c
@@ -26,7 +26,7 @@
 #include "qemu-timer.h"
 #include "slirp/slirp.h"
 #include "main-loop.h"
-#include "qemu-aio.h"
+#include "block/aio.h"
 
 #ifndef _WIN32
 
diff --git a/main-loop.h b/main-loop.h
index 326c742..e8059c3 100644
--- a/main-loop.h
+++ b/main-loop.h
@@ -25,7 +25,7 @@
 #ifndef QEMU_MAIN_LOOP_H
 #define QEMU_MAIN_LOOP_H 1
 
-#include "qemu-aio.h"
+#include "block/aio.h"
 
 #define SIG_IPI SIGUSR1
 
diff --git a/migration-exec.c b/migration-exec.c
index b4a3ca3..3e55b77 100644
--- a/migration-exec.c
+++ b/migration-exec.c
@@ -19,7 +19,7 @@
 #include "qemu_socket.h"
 #include "migration.h"
 #include "buffered_file.h"
-#include "block.h"
+#include "block/block.h"
 #include <sys/types.h>
 #include <sys/wait.h>
 
diff --git a/migration-fd.c b/migration-fd.c
index 6d42287..e862288 100644
--- a/migration-fd.c
+++ b/migration-fd.c
@@ -18,7 +18,7 @@
 #include "migration.h"
 #include "monitor.h"
 #include "buffered_file.h"
-#include "block.h"
+#include "block/block.h"
 #include "qemu_socket.h"
 
 //#define DEBUG_MIGRATION_FD
diff --git a/migration-tcp.c b/migration-tcp.c
index a9bb817..07f51f2 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
@@ -17,7 +17,7 @@
 #include "qemu_socket.h"
 #include "migration.h"
 #include "buffered_file.h"
-#include "block.h"
+#include "block/block.h"
 
 //#define DEBUG_MIGRATION_TCP
 
diff --git a/migration-unix.c b/migration-unix.c
index e58e8bc..1b9c461 100644
--- a/migration-unix.c
+++ b/migration-unix.c
@@ -17,7 +17,7 @@
 #include "qemu_socket.h"
 #include "migration.h"
 #include "buffered_file.h"
-#include "block.h"
+#include "block/block.h"
 
 //#define DEBUG_MIGRATION_UNIX
 
diff --git a/migration.c b/migration.c
index 73ce170..1fce152 100644
--- a/migration.c
+++ b/migration.c
@@ -18,7 +18,7 @@
 #include "monitor.h"
 #include "buffered_file.h"
 #include "sysemu.h"
-#include "block.h"
+#include "block/block.h"
 #include "qemu_socket.h"
 #include "block-migration.h"
 #include "qmp-commands.h"
diff --git a/monitor.h b/monitor.h
index 7c29d9d..9e96e83 100644
--- a/monitor.h
+++ b/monitor.h
@@ -4,7 +4,7 @@
 #include "qemu-common.h"
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qdict.h"
-#include "block.h"
+#include "block/block.h"
 #include "readline.h"
 
 extern Monitor *cur_mon;
diff --git a/nbd.c b/nbd.c
index 01976e8..04ff0a1 100644
--- a/nbd.c
+++ b/nbd.c
@@ -16,10 +16,10 @@
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "nbd.h"
-#include "block.h"
+#include "block/nbd.h"
+#include "block/block.h"
 
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 
 #include <errno.h>
 #include <string.h>
diff --git a/qemu-char.h b/qemu-char.h
index 3e230a1..5ff1b2b 100644
--- a/qemu-char.h
+++ b/qemu-char.h
@@ -5,7 +5,7 @@
 #include "qemu-queue.h"
 #include "qemu-option.h"
 #include "qemu-config.h"
-#include "qemu-aio.h"
+#include "block/aio.h"
 #include "qapi/qmp/qobject.h"
 #include "qapi/qmp/qstring.h"
 #include "main-loop.h"
diff --git a/qemu-coroutine-io.c b/qemu-coroutine-io.c
index 5734965..5fae9c7 100644
--- a/qemu-coroutine-io.c
+++ b/qemu-coroutine-io.c
@@ -24,7 +24,7 @@
  */
 #include "qemu-common.h"
 #include "qemu_socket.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "iov.h"
 
 ssize_t coroutine_fn
diff --git a/qemu-coroutine-lock.c b/qemu-coroutine-lock.c
index 9dda3f8..c3939ac 100644
--- a/qemu-coroutine-lock.c
+++ b/qemu-coroutine-lock.c
@@ -23,10 +23,10 @@
  */
 
 #include "qemu-common.h"
-#include "qemu-coroutine.h"
-#include "qemu-coroutine-int.h"
+#include "block/coroutine.h"
+#include "block/coroutine_int.h"
 #include "qemu-queue.h"
-#include "qemu-aio.h"
+#include "block/aio.h"
 #include "trace.h"
 
 static QTAILQ_HEAD(, Coroutine) unlock_bh_queue =
diff --git a/qemu-coroutine-sleep.c b/qemu-coroutine-sleep.c
index d7083ee..26e6dac 100644
--- a/qemu-coroutine-sleep.c
+++ b/qemu-coroutine-sleep.c
@@ -11,7 +11,7 @@
  *
  */
 
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "qemu-timer.h"
 
 typedef struct CoSleepCB {
diff --git a/qemu-coroutine.c b/qemu-coroutine.c
index 600be26..0f6e268 100644
--- a/qemu-coroutine.c
+++ b/qemu-coroutine.c
@@ -14,8 +14,8 @@
 
 #include "trace.h"
 #include "qemu-common.h"
-#include "qemu-coroutine.h"
-#include "qemu-coroutine-int.h"
+#include "block/coroutine.h"
+#include "block/coroutine_int.h"
 
 Coroutine *qemu_coroutine_create(CoroutineEntry *entry)
 {
diff --git a/qemu-img.c b/qemu-img.c
index a13bc78..2e5ca5c 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -29,7 +29,7 @@
 #include "qemu-error.h"
 #include "osdep.h"
 #include "sysemu.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include <getopt.h>
 #include <stdio.h>
 
diff --git a/qemu-io.c b/qemu-io.c
index 1637773..e0e4742 100644
--- a/qemu-io.c
+++ b/qemu-io.c
@@ -16,7 +16,7 @@
 
 #include "qemu-common.h"
 #include "main-loop.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "cmd.h"
 #include "trace/control.h"
 
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 80f08d8..0a6091b 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -17,8 +17,8 @@
  */
 
 #include "qemu-common.h"
-#include "block.h"
-#include "nbd.h"
+#include "block/block.h"
+#include "block/nbd.h"
 
 #include <stdarg.h>
 #include <stdio.h>
diff --git a/tests/test-aio.c b/tests/test-aio.c
index a8a4f0c..e4ebef7 100644
--- a/tests/test-aio.c
+++ b/tests/test-aio.c
@@ -11,7 +11,7 @@
  */
 
 #include <glib.h>
-#include "qemu-aio.h"
+#include "block/aio.h"
 
 AioContext *ctx;
 
diff --git a/tests/test-coroutine.c b/tests/test-coroutine.c
index e5d14eb..4c6cc81 100644
--- a/tests/test-coroutine.c
+++ b/tests/test-coroutine.c
@@ -12,7 +12,7 @@
  */
 
 #include <glib.h>
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 
 /*
  * Check that qemu_in_coroutine() works
diff --git a/tests/test-thread-pool.c b/tests/test-thread-pool.c
index ea8e676..9998e03 100644
--- a/tests/test-thread-pool.c
+++ b/tests/test-thread-pool.c
@@ -1,8 +1,8 @@
 #include <glib.h>
 #include "qemu-common.h"
-#include "qemu-aio.h"
-#include "thread-pool.h"
-#include "block.h"
+#include "block/aio.h"
+#include "block/thread-pool.h"
+#include "block/block.h"
 
 static int active;
 
diff --git a/thread-pool.c b/thread-pool.c
index 204f70b..4c73a7d 100644
--- a/thread-pool.c
+++ b/thread-pool.c
@@ -18,11 +18,11 @@
 #include "qemu-queue.h"
 #include "qemu-thread.h"
 #include "osdep.h"
-#include "qemu-coroutine.h"
+#include "block/coroutine.h"
 #include "trace.h"
-#include "block_int.h"
+#include "block/block_int.h"
 #include "event_notifier.h"
-#include "thread-pool.h"
+#include "block/thread-pool.h"
 
 static void do_spawn_thread(void);
 
