qemu-io - an I/O path exerciser (Christoph Hellwig)

This patch adds a new qemu-io tool that links against the block layer and
image formats and allow to exercise them without needing a guest image.
It is inspired by the xfs_io tool which does the same for plain file I/O.
In fact the libxcmd library which is the backend of xfs_io is reused by this
tool in a limited fashing (cmd.[ch] files).

This version tests out most of the plain block I/O commands with the
most notable absent commands beeing snapshot handling and real aio.

This tool is the basis of the I/O path test suite I'm working on right now.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6990 c046a42c-6fe2-441c-8c8c-71466251a162
2 files changed
tree: f3dc489beddb599cdca313ae8e1c899d2051295e
  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. CODING_STYLE
  62. configure
  63. console.c
  64. console.h
  65. COPYING
  66. COPYING.LIB
  67. cpu-all.h
  68. cpu-defs.h
  69. cpu-exec.c
  70. cris-dis.c
  71. curses.c
  72. curses_keys.h
  73. cutils.c
  74. d3des.c
  75. d3des.h
  76. def-helper.h
  77. device_tree.c
  78. device_tree.h
  79. dis-asm.h
  80. disas.c
  81. disas.h
  82. dma-helpers.c
  83. dma.h
  84. dyngen-exec.h
  85. elf.h
  86. elf_ops.h
  87. exec-all.h
  88. exec.c
  89. feature_to_c.sh
  90. gdbstub.c
  91. gdbstub.h
  92. gen-icount.h
  93. host-utils.c
  94. host-utils.h
  95. hostregs_helper.h
  96. hpet.h
  97. hppa-dis.c
  98. hppa.ld
  99. hxtool
  100. i386-dis.c
  101. i386.ld
  102. ia64.ld
  103. keymaps.c
  104. keymaps.h
  105. kqemu.c
  106. kqemu.h
  107. kvm-all.c
  108. kvm.h
  109. libfdt_env.h
  110. LICENSE
  111. loader.c
  112. m68k-dis.c
  113. m68k-semi.c
  114. m68k.ld
  115. MAINTAINERS
  116. Makefile
  117. Makefile.target
  118. migration-exec.c
  119. migration-tcp.c
  120. migration.c
  121. migration.h
  122. mips-dis.c
  123. mips.ld
  124. mipsel.ld
  125. monitor.c
  126. monitor.h
  127. nbd.c
  128. nbd.h
  129. net-checksum.c
  130. net.c
  131. net.h
  132. osdep.c
  133. osdep.h
  134. pci-ids.txt
  135. posix-aio-compat.c
  136. posix-aio-compat.h
  137. ppc-dis.c
  138. ppc.ld
  139. ppc64.ld
  140. qemu-aio.h
  141. qemu-binfmt-conf.sh
  142. qemu-char.c
  143. qemu-char.h
  144. qemu-common.h
  145. qemu-doc.texi
  146. qemu-img.c
  147. qemu-img.texi
  148. qemu-lock.h
  149. qemu-log.h
  150. qemu-malloc.c
  151. qemu-nbd.c
  152. qemu-nbd.texi
  153. qemu-options.hx
  154. qemu-sockets.c
  155. qemu-tech.texi
  156. qemu-timer.h
  157. qemu-tool.c
  158. qemu.sasl
  159. qemu_socket.h
  160. readline.c
  161. readline.h
  162. README
  163. rules.mak
  164. s390-dis.c
  165. s390.ld
  166. savevm.c
  167. sdl.c
  168. sdl_keysym.h
  169. sh4-dis.c
  170. softmmu-semi.h
  171. softmmu_defs.h
  172. softmmu_exec.h
  173. softmmu_header.h
  174. softmmu_template.h
  175. sparc-dis.c
  176. sparc.ld
  177. sparc64.ld
  178. sys-queue.h
  179. sysemu.h
  180. tap-win32.c
  181. texi2pod.pl
  182. thunk.c
  183. thunk.h
  184. TODO
  185. translate-all.c
  186. uboot_image.h
  187. usb-bsd.c
  188. usb-linux.c
  189. usb-stub.c
  190. VERSION
  191. vgafont.h
  192. vl.c
  193. vnc-auth-sasl.c
  194. vnc-auth-sasl.h
  195. vnc-auth-vencrypt.c
  196. vnc-auth-vencrypt.h
  197. vnc-tls.c
  198. vnc-tls.h
  199. vnc.c
  200. vnc.h
  201. vnc_keysym.h
  202. vnchextile.h
  203. x86_64.ld
  204. x_keymap.c
  205. x_keymap.h