Also available here:
https://github.com/rwmjones/nbdkit/tree/2020-windows-mingw
This is the port to Windows using native Windows APIs (not MSYS or
Cygwin).
This patch series is at the point where it basically now works. I can
run the server with the memory plugin, and access it remotely using
guestfish, creating filesystems and so on without any apparent
problems.
Nevertheless there are many missing features (see TODO). It would be
really nice to have a native Windows file plugin. It's hard to
imagine an NBD server being taken seriously that cannot serve files!
The major impediment to getting this upstream is probably the
requirement for libnbdkit.so (first patch). Although this is optional
and doesn't break backwards compatibility it's a rather large change
especially as I hope we're coming towards the end of the 1.22
development cycle. So this is more like 1.24 material.
It would also be nice if we were automatically doing CI on this code
so it doesn't regress. While investigating this topic I saw that
gnutls is using gitlab CI to cross-compile and test with mingw-w64:
https://gitlab.com/gnutls/gnutls/-/blob/master/.gitlab-ci.yml
Rich.