On Mon, Sep 16, 2013 at 11:23:45AM -0400, Jeff Layton wrote: > Currently, we try to ensure that we use vcnum of 0 on the first > established session on a connection and then try to use a different > vcnum on each session after that. > > This is a little odd, since there's no real reason to use a different > vcnum for each SMB session. I can only assume there was some confusion > between SMB sessions and VCs. That's somewhat understandable since they > both get created during SESSION_SETUP, but the documentation indicates > that they are really orthogonal. The comment on max_vcs in particular > looks quite misguided. An SMB session is already uniquely identified > by the SMB UID value -- there's no need to again uniquely ID with a > VC. > > Furthermore, a vcnum of 0 is a cue to the server that it should release > any resources that were previously held by the client. This sounds like > a good thing, until you consider that: > > a) it totally ignores the fact that other programs on the box (e.g. > smbclient) might have connections established to the server. Using a > vcnum of 0 causes them to get kicked off. > > b) it causes problems with NAT. If several clients are connected to the > same server via the same NAT'ed address, whenever one connects to the > server it kicks off all the others, which then reconnect and kick off > the first one...ad nauseum. > > I don't see any reason to ignore the advice in "Implementing CIFS" which > has a comprehensive treatment of virtual circuits. In there, it states > "...and contrary to the specs the client should always use a VcNumber of > one, never zero." > > Have the client just use a hardcoded vcnum of 1, and stop abusing the > special behavior of vcnum 0. It's kindof a tough choice, but I like this patch. It does solve real problems. The downside certainly is that we have worse cleanup behaviour of dead connections, but I would prefer not killing NATed connections. Volker -- SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen phone: +49-551-370000-0, fax: +49-551-370000-9 AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen http://www.sernet.de, mailto:kontakt@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