From: Wouter Verhelst <w@uter.be>
To: Alex Bligh <alex@alex.org.uk>
Cc: "nbd-general@lists.sourceforge.net"
<nbd-general@lists.sourceforge.net>,
"Daniel P. Berrange" <berrange@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [Nbd] [PATCHv8] Improve documentation for TLS
Date: Tue, 12 Apr 2016 11:20:58 +0200 [thread overview]
Message-ID: <20160412092058.GA30686@grep.be> (raw)
In-Reply-To: <0D0FC6E7-F6DA-4B70-A2DD-66ADCD038CA2@alex.org.uk>
On Tue, Apr 12, 2016 at 08:47:49AM +0100, Alex Bligh wrote:
>
> On 12 Apr 2016, at 07:01, Wouter Verhelst <w@uter.be> wrote:
>
> > hat doesn't mean OPT_ABORT not having a reply is necessarily a good
> > idea. Since it's only used by reference nbd-client in just one use case
> > at this point, I don't think it's particularly bad to change the
> > definition to say that the server SHOULD send a reply (NBD_REP_ACK),
> > upon which the server drops the connection.
> >
> > The client should probably wait for that too, and not close its socket
> > until either it gets a zero read (indicating that the server closed it
> > already) or it gets an NBD_REP_ACK from the NBD_OPT_ABORT message.
>
> Yeah. That way would be a safe change (as the worst that can
> happen is the client thinks the server has rudely dropped
> the connection).
Right.
To summarize, there are three ways for the connection to end:
- The client wishes to end the session, and sends the appropriate
termination message (OPT_ABORT or CMD_DISC). This is a normal
disconnect.
- Either peer violates a MUST in the spec, and the other side doesn't
know how to handle the resulting inconsistency. The only proper
solution at that point is to drop the connection, but that's only
because there's really nothing else we *can* do. This is an abnormal
disconnect.
- The server wishes to terminate the session. There isn't actually a
message for this, so it also results in an abnormal disconnect.
Perhaps we could state that the server can send a message (offset 0,
length 0, handle 0, error EINTR) when it wants to terminate the session
for whatever reason (e.g., because it's being restarted).
Originally, there were a number of termination points where we could
drop the connection without further explanation. It was a mess, because
it resulted in confusing messages (e.g., the server would produce error
messages in system logs for every disconnect because it couldn't
distinguish between clean disconnects and unclean disconnects).
I don't want to go there again.
--
< ron> I mean, the main *practical* problem with C++, is there's like a dozen
people in the world who think they really understand all of its rules,
and pretty much all of them are just lying to themselves too.
-- #debian-devel, OFTC, 2016-02-12
next prev parent reply other threads:[~2016-04-12 9:21 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-10 12:47 [Qemu-devel] [PATCHv8] Improve documentation for TLS Alex Bligh
2016-04-11 6:10 ` [Qemu-devel] [Nbd] " Wouter Verhelst
2016-04-11 7:27 ` Alex Bligh
2016-04-11 20:14 ` Eric Blake
2016-04-11 20:34 ` Alex Bligh
2016-04-12 6:01 ` Wouter Verhelst
2016-04-12 7:47 ` Alex Bligh
2016-04-12 9:20 ` Wouter Verhelst [this message]
2016-04-12 9:53 ` Alex Bligh
2016-04-12 12:40 ` Wouter Verhelst
2016-04-12 12:57 ` Alex Bligh
2016-04-12 13:01 ` Wouter Verhelst
2016-04-12 13:29 ` Alex Bligh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160412092058.GA30686@grep.be \
--to=w@uter.be \
--cc=alex@alex.org.uk \
--cc=berrange@redhat.com \
--cc=nbd-general@lists.sourceforge.net \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.