[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Nbd] [PATCH 2/2] NBD: allow hung network I/O to be cancelled



On 8/24/07, Wouter Verhelst <w@...112...> wrote:
> On Fri, Aug 24, 2007 at 02:13:27PM -0400, Mike Snitzer wrote:
> > On 8/24/07, Paul Clements <paul.clements@...124...> wrote:
> > > This patch allows NBD I/O to be cancelled when a network outage occurs.
> > > Previously, I/O would just hang, and if enough I/O was hung in nbd, the
> > > system (at least user-level) would completely hang until a TCP timeout
> > > (default, 15 minutes) occurred.
> > >
> > > The patch introduces a new ioctl NBD_SET_TIMEOUT that allows a transmit
> > > timeout value (in seconds) to be specified. Any network send that
> > > exceeds the timeout will be cancelled and the nbd connection will be
> > > shut down. I've tested with various timeout values and 6 seconds seems
> > > to be a good choice for the timeout. If the NBD_SET_TIMEOUT ioctl is not
> > > called, you get the old (I/O hang) behavior.
> >
> > Hi Paul,
> >
> > Thanks for implementing this!  Do you happen to have an associated
> > nbd-client patch for userspace?  If not I'd be happy to coordinate
> > with you and Wouter on a patch.
>
> An ioctl isn't that hard ;)

I didn't say it was hard...

> I just committed a patch to the 2.9 branch that should theoretically
> work. Since I don't have a kernel with that patch (yet), I didn't test
> it, but it's pretty trivial.

I tested my patch on a kernel running with Paul's patch.  The one
thing I missed early on was the need to reestablish the timeout if
-persist was used.  Looks like you missed that too.

regards,
Mike



Reply to: