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

Christopher R. Hertel crh at samba.org
Sat Dec 4 12:49:18 MST 2010


Jeff Layton wrote:
> On Fri, 03 Dec 2010 21:54:13 -0600
> "Christopher R. Hertel" <crh at samba.org> wrote:
> 
>> Jeff Layton wrote:
>> :
>> :
>>> Timeouts:
>>> =========
>>> It's tempting to think of SMB as being very similar to NFS/RPC, but
>>> when it comes to low-level transport, there are significant
>>> differences. ONC-RPC was designed for connectionless transports and has
>>> the concept of a retransmission. SMB however does not -- it was
>>> originally layered on NetBIOS sessions and so has always been assumed
>>> to run on a connection-based transport.
>> ...with the exception of the Direct Hosted IPX transport.  IPX is
>> connectionless.  In order to accommodate this connectionless transport, SMB
>> was actually modified (slightly).
>>
>> 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.
>>
>> Ugh.  Eh?
>>
> 
> Yeah, Direct Hosted IPX is a lot more like NFS/RPC. MS essentially
> shoehorned in a way to do request retransmissions. It's a pretty
> impressive kludge! I suppose we could theorize that that legacy is why
> Windows times out individual requests so aggressively, but maybe there
> are other design concerns behind that behavior.

I've seen the source code.  [Aiigh!  Bleach the eyes!]

I think that this is the primary reason for the timeout, but yeah... there
are other factors that are likely involved.

> In this case however it really is a "don't care" for us in Linux CIFS
> land since we have never implemented it on top of IPX or any other
> non-connected transport and have no plans to do so.

Yep!  I agree with Volker's vote that this is a case in which third-party
implementations should do "the right thing" rather than "what Windows does".

Chris -)-----

-- 
"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development, uninq.
ubiqx Team -- http://www.ubiqx.org/     -)-----   crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/    -)-----   crh at ubiqx.org


More information about the cifs-protocol mailing list