On 11/14/2017 01:23 PM, Eric Blake wrote:
In preparation for allowing interleaved response, refactor the
nbd forwarder so that writes are still done from the thread
handling the original request from the client, but all reads are
done by a dedicated reader thread. Control between the two
flags is gated by a mutex for storing the transaction
s/flags/threads/
information, coupled with a pipe for the reader thread to send
the final status back to the handler thread.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
---
plugins/nbd/nbd.c | 117 ++++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 100 insertions(+), 17 deletions(-)
I don't mind pushing 1/2 right away, but I'd like to get my work on
PARALLEL support polished and post my 3/2 with full parallel forwarding
before I push 2/2. Hopefully later today (last night, I had parallel
file plugin nearly working, except for the race during
test-socket-activation dying when plugin_name() was called after .unload...)
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization:
qemu.org |
libvirt.org