From: Andrew Deason Date: Sun, 3 May 2020 04:54:55 +0000 (-0500) Subject: afs: Drop GLOCK for RXAFS_GetCapabilities X-Git-Tag: openafs-devel-1_9_0~84 X-Git-Url: http://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=44b7b93b593371bfdddd0be0ae603f4f8720f78b afs: Drop GLOCK for RXAFS_GetCapabilities We are hitting the net here; we certainly should not be holding AFS_GLOCK while waiting for the server's response. Found via FreeBSD WITNESS. Change-Id: Ie727db27adaeed23ac8cff7665143bae2ce2ede8 Reviewed-on: https://gerrit.openafs.org/14181 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk --- diff --git a/src/afs/afs_server.c b/src/afs/afs_server.c index e6a1d0f..22d9bfd 100644 --- a/src/afs/afs_server.c +++ b/src/afs/afs_server.c @@ -1520,7 +1520,9 @@ afs_GetCapabilities(struct server *ts) } /* InitCallBackStateN, triggered by our RPC, may need this */ ReleaseWriteLock(&afs_xserver); + AFS_GUNLOCK(); code = RXAFS_GetCapabilities(rxconn, &caps); + AFS_GLOCK(); ObtainWriteLock(&afs_xserver, 723); /* we forced a conn above; important we mark it down if needed */ if ((code < 0) && (code != RXGEN_OPCODE)) {