diff options
author | Steve French <smfrench@gmail.com> | 2016-09-23 02:58:16 +0300 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2016-10-12 20:08:32 +0300 |
commit | 3afca265b5f53a0b15b79531c13858049505582d (patch) | |
tree | ac9c7c97ee38fb4c156731643120833c5e53f63c /fs/cifs/cifsfs.c | |
parent | d171356ff11ab1825e456dfb979755e01b3c54a1 (diff) | |
download | linux-3afca265b5f53a0b15b79531c13858049505582d.tar.xz |
Clarify locking of cifs file and tcon structures and make more granular
Remove the global file_list_lock to simplify cifs/smb3 locking and
have spinlocks that more closely match the information they are
protecting.
Add new tcon->open_file_lock and file->file_info_lock spinlocks.
Locks continue to follow a heirachy,
cifs_socket --> cifs_ses --> cifs_tcon --> cifs_file
where global tcp_ses_lock still protects socket and cifs_ses, while the
the newer locks protect the lower level structure's information
(tcon and cifs_file respectively).
CC: Stable <stable@vger.kernel.org>
Signed-off-by: Steve French <steve.french@primarydata.com>
Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Reviewed-by: Germano Percossi <germano.percossi@citrix.com>
Diffstat (limited to 'fs/cifs/cifsfs.c')
-rw-r--r-- | fs/cifs/cifsfs.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 978dbf049a77..d2b2703fed7d 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c @@ -1262,7 +1262,6 @@ init_cifs(void) GlobalTotalActiveXid = 0; GlobalMaxActiveXid = 0; spin_lock_init(&cifs_tcp_ses_lock); - spin_lock_init(&cifs_file_list_lock); spin_lock_init(&GlobalMid_Lock); get_random_bytes(&cifs_lock_secret, sizeof(cifs_lock_secret)); |