We are already building the NBD client and server on Windows when it is used via the main system emulator binaries. This demonstrates there is no fundamental blocker to buildig the qemu-nbd binary too.
In testing this I used: wine qemu-nbd.exe -t -p 9000 demo.img and wine qemu-img.exe info nbd:localhost:9000 In fact I tested the full matrix of native vs windows client and native vs windows server. I did notice that native qemu-img will sometimes hang when talking to the windows qemu-nbd.exe binary, and the windows qemu-img will almost always hang. The hang happens in the "blk_unref" call in collect_image_info_list(). This suggests something related to the socket teardown / cleanup in the NBD code. While we should obviously investigate and fix that, I didn't consider it a blocker for enabling build of qemu-nbd.exe, since we're already building the same (buggy) NBD code in the system emulators on Windows. Daniel P. Berrangé (2): block: add missing socket_init() calls to tools nbd: disable signals and forking on Windows builds meson.build | 7 ++----- qemu-img.c | 2 ++ qemu-io.c | 2 ++ qemu-nbd.c | 11 ++++++++++- 4 files changed, 16 insertions(+), 6 deletions(-) -- 2.26.2