On 11/11/2017 08:33 PM, Eric Blake wrote: > This is a minimal implementation of an NBD forwarder; it lets us > convert between old and newstyle connections (great if a client > expects one style but the real server only provides the other), > or add TLS safety on top of a server without having to rewrite > that server. Right now, the real server is expected to live > on a named Unix socket, and the transactions are serialized > rather than interleaved; further enhancements could be made to > also permit TCP servers or more efficient transmission. > > I also envision the possibility of enhancing our testsuite to > use NBD forwarding as a great test of our server. > > Signed-off-by: Eric Blake <[email protected]> >
> +
> +/* Free up the per-connection handle. */
> +static void
> +nbd_close (void *handle)
> +{
> + struct handle *h = handle;
> +
> + close (h->fd);
> + free (h);
> +}
Oh, I just realized: prior to dropping the socket, this should do:
if (!h->dead)
nbd_request (h, NBD_CMD_DISC, 0, 0, &cookie);
to let the real server get a cleaner shutdown.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
