]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
libafs: track dynroot locks for cmdebug
authorDerrick Brashear <shadow@your-file-system.com>
Fri, 21 Jun 2013 14:50:16 +0000 (10:50 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Fri, 21 Jun 2013 15:44:46 +0000 (08:44 -0700)
the dynroot dir and symlink locks are not currently tracked;
it would be helpful to know when these locks are in play for tracking
contention

Change-Id: Ibe18586fa5d0ef0e3ea9e7153d79ab64df46ebf3
Reviewed-on: http://gerrit.openafs.org/9997
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
src/afs/afs_callback.c
src/afs/afs_dynroot.c
src/afs/afs_prototypes.h

index c2d36a1db5901d8c40827f5bac2b715cbafb76a8..7e0e2dd8715d8fb4a5f5132c5072d6b0acb6b2bb 100644 (file)
@@ -65,6 +65,8 @@ static struct ltable {
     { "afs_discon_lock", (char *)&afs_discon_lock},
     { "afs_disconDirtyLock", (char *)&afs_disconDirtyLock},
     { "afs_discon_vc_dirty", (char *)&afs_xvcdirty},
+    { "afs_dynrootDirLock", (char *)&afs_dynrootDirLock},
+    { "afs_dynSymlinkLock", (char *)&afs_dynSymlinkLock},
 };
 unsigned long lastCallBack_vnode;
 unsigned int lastCallBack_dv;
index 9ca8131c5a7d01f2270d700b6af3304abc98b855..144a2d498fed64b9a3de871a267133c95588bdd1 100644 (file)
@@ -54,7 +54,7 @@ static int afs_dynrootInit = 0;
 static int afs_dynrootEnable = 0;
 static int afs_dynrootCell = 0;
 
-static afs_rwlock_t afs_dynrootDirLock;
+afs_rwlock_t afs_dynrootDirLock;
 /* Start of variables protected by afs_dynrootDirLock */
 static char *afs_dynrootDir = NULL;
 static int afs_dynrootDirLen;
@@ -74,7 +74,7 @@ struct afs_dynSymlink {
     char *target;
 };
 
-static afs_rwlock_t afs_dynSymlinkLock;
+afs_rwlock_t afs_dynSymlinkLock;
 /* Start of variables protected by afs_dynSymlinkLock */
 static struct afs_dynSymlink *afs_dynSymlinkBase = NULL;
 static int afs_dynSymlinkIndex = 0;
index 0c0f445988a921a66133cae54c75da883c1b1041..f98aef2ae1cae03ea79f878e53c10951d093c5f8 100644 (file)
@@ -290,6 +290,8 @@ extern void afs_PopulateDCache(struct vcache *avc, afs_size_t apos,
 /* afs_disconnected.c */
 
 /* afs_dynroot.c */
+extern afs_rwlock_t afs_dynrootDirLock;
+extern afs_rwlock_t afs_dynSymlinkLock;
 extern int afs_IsDynrootFid(struct VenusFid *fid);
 extern int afs_IsDynrootMountFid(struct VenusFid *fid);
 extern int afs_IsDynrootAnyFid(struct VenusFid *fid);