As before this patch still doesn't work at a conceptual level, however
I'm posting it so we have a record of the code.
The current problem is that it can deadlock during
nbd_connect_socket() if there isn't enough data in the <initial server
buffer> to complete NBD negotiation, which would actually happen quite
commonly in the real world.
There's not really any way I can see around this except to somehow
have two separate streams of data, one for the NBD protocol from the
"server", and one for the list of commands. That's not really how
fuzzers work though.
Rich.