Windows: Do not double increment cm_data.currentCells
[openafs.git] / src / WINNT / afsd / lock.txt
1 Copyright 2000, International Business Machines Corporation and others.
2 All Rights Reserved.
3
4 This software has been released under the terms of the IBM Public
5 License.  For details, see the LICENSE file in the top-level source
6 directory or online at http://www.openafs.org/dl/license10.html
7
8 The locking/waiting hierarchy here is this:
9
10  - lock scp's bufCreateLock
11
12  - resv multiple simul. buffers reservation
13  - lock buffer I/O flags
14  - lock buffer's mutex
15
16  - smb_fid_t mutex
17
18  - scache dirlock
19
20  - scache flags (storing, fetching, etc); if set for more than one
21         vnode in a volume, must be set in vnode order (see cm_Rename).
22
23  - scache mutex
24
25  - lock tran_globalLock
26  - lock buf_globalLock
27
28  - userp->mx
29
30  - lock cm_scacheLock
31
32  - volp->mx
33
34  - cm_connLock  (locked before cm_userLock in cm_GCConnections)
35  - cm_cellLock
36  - cm_serverLock (locked after cm_cellLock in cm_IoctlGetCell)
37  - other global locks
38  - cm_aclLock (locked before cm_userLock throughout cm_aclent.c)
39  - cm_userLock