Windows: fix locking hierarchy in service
authorJeffrey Altman <jaltman@your-file-system.com>
Sat, 12 Nov 2011 18:41:30 +0000 (13:41 -0500)
committerDerrick Brashear <shadow@dementix.org>
Sun, 26 Feb 2012 06:31:13 +0000 (22:31 -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.

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>
(cherry picked from commit 2fc9edc6e34ebef60413fad9a2af2aa73ea1681f)

Change-Id: I74e87494c1360c61812908e3b4fb012829f71cf3
Reviewed-on: http://gerrit.openafs.org/6805
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

src/WINNT/afsd/cm.h

index 8ef4c9a..474e393 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