cifs: convert GlobalSMBSeslock from a rwlock to regular spinlock
authorJeff Layton <jlayton@redhat.com>
Fri, 15 Oct 2010 19:34:03 +0000 (15:34 -0400)
committerSteve French <sfrench@us.ibm.com>
Mon, 18 Oct 2010 01:32:01 +0000 (01:32 +0000)
commit4477288a103631980750c86547d1fd54bfd2ba7d
treee0d56476a740f043f6687e063ff88d2982b4c444
parent7a16f1961a5c61d1f60d9e0d3d171cf7793fb5cb
cifs: convert GlobalSMBSeslock from a rwlock to regular spinlock

Convert this lock to a regular spinlock

A rwlock_t offers little value here. It's more expensive than a regular
spinlock unless you have a fairly large section of code that runs under
the read lock and can benefit from the concurrency.

Additionally, we need to ensure that the refcounting for files isn't
racy and to do that we need to lock areas that can increment it for
write. That means that the areas that can actually use a read_lock are
very few and relatively infrequently used.

While we're at it, change the name to something easier to type, and fix
a bug in find_writable_file. cifsFileInfo_put can sleep and shouldn't be
called while holding the lock.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Suresh Jayaraman <sjayaraman@suse.de>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/cifsfs.c
fs/cifs/cifsglob.h
fs/cifs/cifssmb.c
fs/cifs/file.c
fs/cifs/misc.c
fs/cifs/readdir.c