The QEMU_ASYNC_EVENTLOOP change is a tidying up of the NBD feature to
make qemu-nbd share more commonality with qemu-img. As discussed
there are perhaps even more cleanups that could be done to improve
this but as I say this change is a good start and should be applied.
Cleanups is, well, not the correct word IMHO. The complete block device
handling needs a major redesign. That this ifdef is needed in the first
place is a blatant layering violation. Also we should be able to
support async I/O in some form (be it libaio, threads or whatever)
without hacking support for it into each and every file format handler.