Refactor aio callback allocation to use an aiocb pool (Avi Kivity)

Move the AIOCB allocation code to use a dedicate structure, AIOPool.  AIOCB
specific information, such as the AIOCB size and cancellation routine, is
moved into the pool.

At present, there is exactly one pool per block format driver, maintaining
the status quo.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


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