Windows: fix locking hierarchy in service
authorJeffrey Altman <jaltman@your-file-system.com>
Sat, 12 Nov 2011 18:41:30 +0000 (13:41 -0500)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 13 Nov 2011 00:16:14 +0000 (16:16 -0800)
The smb username lock and the daemon global lock can be requested
while the scache dirlock is held if there are no free buffers
and the service is forced to claw back extents from the redirector.
Adjust the locking hierarchy accordingly.

Change-Id: I85387a16ca580d678af45f3931aa5e81fe0a0f2c
Reviewed-on: http://gerrit.openafs.org/6000
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

src/WINNT/afsd/cm.h

index c55c19a..3a86f77 100644 (file)
 #define LOCK_HIERARCHY_SMB_UID                  90
 #define LOCK_HIERARCHY_SMB_RAWBUF              100
 #define LOCK_HIERARCHY_SMB_RCT_GLOBAL          110
-#define LOCK_HIERARCHY_SMB_USERNAME            115
 #define LOCK_HIERARCHY_SMB_VC                  120
 #define LOCK_HIERARCHY_SMB_MONITOR             125
 
 
-#define LOCK_HIERARCHY_DAEMON_GLOBAL           400
-
 #define LOCK_HIERARCHY_SCACHE_DIRLOCK          500
-#define LOCK_HIERARCHY_SCACHE_BUFCREATE        510
-#define LOCK_HIERARCHY_BUFFER                  530
-#define LOCK_HIERARCHY_SCACHE                  540
-#define LOCK_HIERARCHY_BUF_GLOBAL              550
-#define LOCK_HIERARCHY_VOLUME                  560
-#define LOCK_HIERARCHY_USER                    570
-#define LOCK_HIERARCHY_SCACHE_GLOBAL           580
+#define LOCK_HIERARCHY_DAEMON_GLOBAL           510
+#define LOCK_HIERARCHY_SMB_USERNAME            520
+#define LOCK_HIERARCHY_SCACHE_BUFCREATE        530
+#define LOCK_HIERARCHY_BUFFER                  540
+#define LOCK_HIERARCHY_SCACHE                  550
+#define LOCK_HIERARCHY_BUF_GLOBAL              560
+#define LOCK_HIERARCHY_VOLUME                  570
+#define LOCK_HIERARCHY_USER                    580
+#define LOCK_HIERARCHY_SCACHE_GLOBAL           590
 #define LOCK_HIERARCHY_CONN_GLOBAL             600
 #define LOCK_HIERARCHY_CELL                    620
 #define LOCK_HIERARCHY_CELL_GLOBAL             630