fully split aio_pool from BlockDriver

Now that we have a separate aio pool structure we can remove those
aio pool details from BlockDriver.

Every driver supporting AIO now needs to declare a static AIOPool
with the aiocb size and the cancellation method.  This cleans up the
current code considerably and will make it cleaner and more obvious
to support two different aio implementations behind a single
BlockDriver.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
9 files changed
tree: 8c793602c179ad2d5adbce65bc6583340a12cd92
  1. audio/
  2. block/
  3. bsd-user/
  4. darwin-user/
  5. fpu/
  6. gdb-xml/
  7. hw/
  8. keymaps/
  9. linux-user/
  10. pc-bios/
  11. slirp/
  12. target-alpha/
  13. target-arm/
  14. target-cris/
  15. target-i386/
  16. target-m68k/
  17. target-microblaze/
  18. target-mips/
  19. target-ppc/
  20. target-sh4/
  21. target-sparc/
  22. tcg/
  23. tests/
  24. .gitignore
  25. a.out.h
  26. acl.c
  27. acl.h
  28. aes.c
  29. aes.h
  30. aio.c
  31. alpha-dis.c
  32. alpha.ld
  33. arm-dis.c
  34. arm-semi.c
  35. arm.ld
  36. balloon.h
  37. block.c
  38. block.h
  39. block_int.h
  40. bswap.h
  41. bt-host.c
  42. bt-host.h
  43. bt-vhci.c
  44. buffered_file.c
  45. buffered_file.h
  46. cache-utils.c
  47. cache-utils.h
  48. Changelog
  49. cmd.c
  50. cmd.h
  51. cocoa.m
  52. CODING_STYLE
  53. configure
  54. console.c
  55. console.h
  56. COPYING
  57. COPYING.LIB
  58. cpu-all.h
  59. cpu-common.h
  60. cpu-defs.h
  61. cpu-exec.c
  62. cris-dis.c
  63. curses.c
  64. curses_keys.h
  65. cutils.c
  66. d3des.c
  67. d3des.h
  68. def-helper.h
  69. device_tree.c
  70. device_tree.h
  71. dis-asm.h
  72. disas.c
  73. disas.h
  74. dma-helpers.c
  75. dma.h
  76. dyngen-exec.h
  77. elf.h
  78. elf_ops.h
  79. exec-all.h
  80. exec.c
  81. feature_to_c.sh
  82. gdbstub.c
  83. gdbstub.h
  84. gen-icount.h
  85. host-utils.c
  86. host-utils.h
  87. hostregs_helper.h
  88. hpet.h
  89. hppa-dis.c
  90. hppa.ld
  91. hxtool
  92. i386-dis.c
  93. i386.ld
  94. ia64.ld
  95. keymaps.c
  96. keymaps.h
  97. kqemu.c
  98. kqemu.h
  99. kvm-all.c
  100. kvm.h
  101. libfdt_env.h
  102. LICENSE
  103. loader.c
  104. m68k-dis.c
  105. m68k-semi.c
  106. m68k.ld
  107. MAINTAINERS
  108. Makefile
  109. Makefile.hw
  110. Makefile.target
  111. microblaze-dis.c
  112. migration-exec.c
  113. migration-tcp.c
  114. migration.c
  115. migration.h
  116. mips-dis.c
  117. mips.ld
  118. mipsel.ld
  119. module.c
  120. module.h
  121. monitor.c
  122. monitor.h
  123. nbd.c
  124. nbd.h
  125. net-checksum.c
  126. net.c
  127. net.h
  128. osdep.c
  129. osdep.h
  130. pci-ids.txt
  131. posix-aio-compat.c
  132. posix-aio-compat.h
  133. ppc-dis.c
  134. ppc.ld
  135. ppc64.ld
  136. qemu-aio.h
  137. qemu-binfmt-conf.sh
  138. qemu-char.c
  139. qemu-char.h
  140. qemu-common.h
  141. qemu-doc.texi
  142. qemu-img.c
  143. qemu-img.texi
  144. qemu-io.c
  145. qemu-lock.h
  146. qemu-log.h
  147. qemu-malloc.c
  148. qemu-nbd.c
  149. qemu-nbd.texi
  150. qemu-option.c
  151. qemu-option.h
  152. qemu-options.hx
  153. qemu-sockets.c
  154. qemu-tech.texi
  155. qemu-thread.c
  156. qemu-thread.h
  157. qemu-timer.h
  158. qemu-tool.c
  159. qemu.sasl
  160. qemu_socket.h
  161. readline.c
  162. readline.h
  163. README
  164. rules.mak
  165. s390-dis.c
  166. s390.ld
  167. savevm.c
  168. sdl.c
  169. sdl_keysym.h
  170. sh4-dis.c
  171. softmmu-semi.h
  172. softmmu_defs.h
  173. softmmu_exec.h
  174. softmmu_header.h
  175. softmmu_template.h
  176. sparc-dis.c
  177. sparc.ld
  178. sparc64.ld
  179. sys-queue.h
  180. sysemu.h
  181. tap-win32.c
  182. targphys.h
  183. texi2pod.pl
  184. thunk.c
  185. thunk.h
  186. TODO
  187. tool-osdep.c
  188. translate-all.c
  189. uboot_image.h
  190. usb-bsd.c
  191. usb-linux.c
  192. usb-stub.c
  193. VERSION
  194. vgafont.h
  195. vl.c
  196. vnc-auth-sasl.c
  197. vnc-auth-sasl.h
  198. vnc-auth-vencrypt.c
  199. vnc-auth-vencrypt.h
  200. vnc-tls.c
  201. vnc-tls.h
  202. vnc.c
  203. vnc.h
  204. vnc_keysym.h
  205. vnchextile.h
  206. x86_64.ld
  207. x_keymap.c
  208. x_keymap.h