On Sat, Nov 11, 2017 at 09:16:53PM -0600, Eric Blake wrote:
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.
>
> +/* Read an entire buffer, returning 0 on success or -1 with errno set */
> +static int read_full (int fd, void *buf, size_t len)
> +{
> + ssize_t r;
> +
> + while (len) {
> + r = read (fd, buf, len);
> + if (r < 0) {
> + if (errno == EINTR || errno == EAGAIN)
> + continue;
> + return -1;
Hmm, emacs picked TAB indentation, but it looks like we prefer spaces (I
certainly prefer it, but forgot to tell emacs my preferences, and the
project doesn't have an automatic .dir-locals.el). Do you need me to
resubmit with the TABs removed? Should we add a .dir-locals.el?
Don't worry about tabs vs spaces.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org