cifs: disable sharing session and tcon and add new TCP sharing code
authorJeff Layton <jlayton@redhat.com>
Fri, 21 Nov 2008 08:53:17 +0000 (14:23 +0530)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 5 Dec 2008 18:55:26 +0000 (10:55 -0800)
commit9fe5dc04b06aaf3f3af5397b8b0bc22c6cc8b1d4
treef777bc1a5dfd83aca4af02d82612f7a73d424308
parent191e471d6d55a0159406112f61cdd7fc8598e3e2
cifs: disable sharing session and tcon and add new TCP sharing code

commit e7ddee9037e7dd43de1ad08b51727e552aedd836 upstream.

The code that allows these structs to be shared is extremely racy.
Disable the sharing of SMB and tcon structs for now until we can
come up with a way to do this that's race free.

We want to continue to share TCP sessions, however since they are
required for multiuser mounts. For that, implement a new (hopefully
race-free) scheme. Add a new global list of TCP sessions, and take
care to get a reference to it whenever we're dealing with one.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Cc: Suresh Jayaraman <sjayaraman@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/cifs/cifs_debug.c
fs/cifs/cifsfs.c
fs/cifs/cifsglob.h
fs/cifs/cifsproto.h
fs/cifs/cifssmb.c
fs/cifs/connect.c