mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-16 21:15:10 -05:00
cifs: update the lock ordering comments with new mutex
The lock ordering rules listed as comments in cifsglob.h were missing some lock details and also the fid_lock. Updated those notes in this commit. Signed-off-by: Shyam Prasad N <sprasad@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
committed by
Steve French
parent
b4f60a053a
commit
8a5ebd2be9
@@ -1991,8 +1991,7 @@ require use of the stronger protocol */
|
||||
* TCP_Server_Info-> TCP_Server_Info cifs_get_tcp_session
|
||||
* reconnect_mutex
|
||||
* TCP_Server_Info->srv_mutex TCP_Server_Info cifs_get_tcp_session
|
||||
* cifs_ses->session_mutex cifs_ses sesInfoAlloc
|
||||
* cifs_tcon
|
||||
* cifs_ses->session_mutex cifs_ses sesInfoAlloc
|
||||
* cifs_tcon->open_file_lock cifs_tcon->openFileList tconInfoAlloc
|
||||
* cifs_tcon->pending_opens
|
||||
* cifs_tcon->stat_lock cifs_tcon->bytes_read tconInfoAlloc
|
||||
@@ -2011,21 +2010,25 @@ require use of the stronger protocol */
|
||||
* ->oplock_credits
|
||||
* ->reconnect_instance
|
||||
* cifs_ses->ses_lock (anything that is not protected by another lock and can change)
|
||||
* sesInfoAlloc
|
||||
* cifs_ses->iface_lock cifs_ses->iface_list sesInfoAlloc
|
||||
* ->iface_count
|
||||
* ->iface_last_update
|
||||
* cifs_ses->chan_lock cifs_ses->chans
|
||||
* cifs_ses->chan_lock cifs_ses->chans sesInfoAlloc
|
||||
* ->chans_need_reconnect
|
||||
* ->chans_in_reconnect
|
||||
* cifs_tcon->tc_lock (anything that is not protected by another lock and can change)
|
||||
* tcon_info_alloc
|
||||
* inode->i_rwsem, taken by fs/netfs/locking.c e.g. should be taken before cifsInodeInfo locks
|
||||
* cifsInodeInfo->open_file_lock cifsInodeInfo->openFileList cifs_alloc_inode
|
||||
* cifsInodeInfo->writers_lock cifsInodeInfo->writers cifsInodeInfo_alloc
|
||||
* cifsInodeInfo->lock_sem cifsInodeInfo->llist cifs_init_once
|
||||
* ->can_cache_brlcks
|
||||
* cifsInodeInfo->deferred_lock cifsInodeInfo->deferred_closes cifsInodeInfo_alloc
|
||||
* cached_fids->cfid_list_lock cifs_tcon->cfids->entries init_cached_dirs
|
||||
* cifsFileInfo->fh_mutex cifsFileInfo cifs_new_fileinfo
|
||||
* cached_fids->cfid_list_lock cifs_tcon->cfids->entries init_cached_dirs
|
||||
* cached_fid->fid_lock (anything that is not protected by another lock and can change)
|
||||
* init_cached_dir
|
||||
* cifsFileInfo->fh_mutex cifsFileInfo cifs_new_fileinfo
|
||||
* cifsFileInfo->file_info_lock cifsFileInfo->count cifs_new_fileinfo
|
||||
* ->invalidHandle initiate_cifs_search
|
||||
* ->oplock_break_cancelled
|
||||
|
||||
Reference in New Issue
Block a user