Re: [Nbd] NBD wishlist items?
- To: Paul Clements <paul.clements@...124...>
- Cc: nbd-general@lists.sourceforge.net, ltsp-developer@lists.sourceforge.net, Mike Snitzer <snitzer@...17...>
- Subject: Re: [Nbd] NBD wishlist items?
- From: Wouter Verhelst <w@...112...>
- Date: Wed, 27 Jun 2007 01:34:26 +0200
- Message-id: <20070626233426.GA16042@...39...>
- In-reply-to: <46812E43.2010100@...124...>
- References: <20070618133932.GA28328@...39...> <170fa0d20706191622l226dd12dt6f212c2a1e4034b7@...18...> <20070621112317.GA6035@...39...> <467BEC91.4050105@...124...> <20070623102349.GB671@...39...> <46812E43.2010100@...124...>
On Tue, Jun 26, 2007 at 11:18:27AM -0400, Paul Clements wrote:
> Wouter Verhelst wrote:
> > A protocol extension that lets both the server and the client initiate
> > this keepalive probe would deal with both issues (provided we do not
> > somehow swap out nbd-client).
>
> Do we need the server to do this keepalive stuff, though?
It becomes an issue if the server needs to maintain copy-on-write
tempfiles (which are cleaned up after close()) and clients write a lot.
Though, granted, that might not be a very good idea regardless.
> I mean, it's really the client that cares if the connection goes down.
> The server ought to be happy to just sit there -- if it's not getting
> any requests, it shouldn't matter.
If it's sitting on resources, however, that could end up being a
problem. And, really, it's silly to have a server sitting on resources
if the client doesn't need it anymore.
[...]
> >> There'd probably be an ioctl to enable this ping packet, so you could
> >> just call the ioctl and ignore failure (for older kernels). Then there'd
> >> be a new packet flag for this ping packet (or maybe just use a
> >> zero-length read or write, assuming the nbd-server just ignores those
> >> and returns a response). That way it would almost completely backward
> >> compatible.
> >
> > Sorry, I'm not sure I understand that bit. Could you elaborate?
>
> I was just thinking out loud. Basically, an easy and backward compatible
> way to do this (client-side) ping is to periodically send a zero-length
> read or write, and as long as the server just ignores it (i.e., doesn't
> crash or do something otherwise stupid) and sends a response, everything
> will work and the protocol doesn't have to change.
Right.
--
<Lo-lan-do> Home is where you have to wash the dishes.
-- #debian-devel, Freenode, 2004-09-22
Reply to: