raw-posix: fix hdev_create

We do need hdev_create unconditionally on all platforms so that qemu-img
create support for host device works on all platforms.

Also relax the check to allow character devices in addition to block
devices.  On many Unix platforms block devices have buffered block
nodes and unbuffered character device nodes, and on FreeBSD the block
nodes don't even exist anymore.  Also on Linux we do support the
/dev/sgN scsi passthrough devices through the host device driver,
and probably the old-style /dev/raw/rawN raw devices although I haven't
tested that.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
1 file changed
tree: 4ca7408b950130cebfcfcf75708e4b16e56f0f19
  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