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>
Showing
- fs/cifs/cifsfs.c 0 additions, 1 deletionfs/cifs/cifsfs.c
- fs/cifs/cifsglob.h 15 additions, 15 deletionsfs/cifs/cifsglob.h
- fs/cifs/cifssmb.c 2 additions, 2 deletionsfs/cifs/cifssmb.c
- fs/cifs/file.c 39 additions, 27 deletionsfs/cifs/file.c
- fs/cifs/misc.c 8 additions, 7 deletionsfs/cifs/misc.c
- fs/cifs/readdir.c 3 additions, 3 deletionsfs/cifs/readdir.c
- fs/cifs/smb2misc.c 8 additions, 8 deletionsfs/cifs/smb2misc.c
Please register or sign in to comment