Re: [cifs-protocol] cifs client timeouts and hard/soft mounts

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

 



On Sat, 4 Dec 2010 08:06:46 -0600
Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> wrote:

> On Sat, Dec 4, 2010 at 7:09 AM, Jeff Layton <jlayton@xxxxxxxxx> wrote:
> > On Sat, 4 Dec 2010 06:25:07 -0600
> > Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> wrote:
> >
> >> On Sat, Dec 4, 2010 at 5:44 AM, Jeff Layton <jlayton@xxxxxxxxx> wrote:
> >>
> >> > On Sat, 4 Dec 2010 09:13:21 +0100
> >> > Volker Lendecke <Volker.Lendecke@xxxxxxxxx> wrote:
> >> >
> >> > > On Fri, Dec 03, 2010 at 09:54:13PM -0600, Christopher R. Hertel wrote:
> >> > > > That may seem to be in the "who cares" category, since those old
> >> > transports
> >> > > > are essentially dead (much more dead than NBT, or even NBF).
> >> >  Unfortunately,
> >> > > > the code to handle the old transports is still there in Windows, so
> >> > there
> >> > > > are behaviors -- things like the timeouts you're talking about and the
> >> > weird
> >> > > > VC=0 shutdown behvior -- that exist because of these old disused
> >> > transports.
> >> > >
> >> > > VC=0, how does Windows treat this facing NAT (masquerading)
> >> > > networks? I've done tests in the past where Windows killed
> >> > > valid connections from behind a NAT box when a new client
> >> > > came in.
> >> > >
> >> > > Volker
> >> >
> >> > It seems like the best way to deal with this on the server side with
> >> > direct hosted TCP would be to treat VC=0 like any other VC number
> >> > (MS-CIFS says that this is allowed).
> >> >
> >> > Ideally any new connection event from a host however should make the
> >> > server check the validity of any other connection from the same host.
> >> > That way you could release resources held by dead connections in case
> >> > the new one is a reconnect and needs to reclaim state.
> >> >
> >> > The question is how to check that validity. Unfortunately, the best you
> >> > can probably do is rely on TCP keepalives.
> >> >
> >> > --
> >> > Jeff Layton <jlayton@xxxxxxxxx>
> >> >  --
> >> > To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
> >> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> >> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >> >
> >>
> >>
> >> Is SMB Echo command the only way to determine whether to reconnect or not?
> >> The assumption here is SMB server is unresponsive.
> >> There could be other circumstances on the server box (or even client box)
> >> that are
> >> slowing down the SMB server responses such as slow network, slow network
> >> stack,
> >> memory pressure etc.
> >> So server could be fine all along and yet client would ask for reconnection!
> >
> > I think it's the best mechanism that the protocol has. If we aren't
> > going to use SMB echoes to detect an unresponsive server, then what
> > would you suggest? I don't think we can make calls wait indefinitely
> > for a response without a mechanism to determine when the server is gone
> > and attempt to reestablish the connection to it.
> >
> > --
> > Jeff Layton <jlayton@xxxxxxxxx>
> >
> 
> I think we should use smb echo command as a means to let users know the
> state of mount/server and let them decide.
> If smb echo times out, cifs client should just log it and stop at that and a
> very next request that receives a response (if any does) should log that server
> is responding.

Could you elaborate a bit?

What do you mean by "let them decide" -- what steps would someone take
if the server stopped responding? Aside from killing the application,
what recourse would they have?

-- 
Jeff Layton <jlayton@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux