diff --git a/src/afs/SOLARIS/osi_vnodeops.c b/src/afs/SOLARIS/osi_vnodeops.c index 0ec2e09b0b..4c88297b85 100644 --- a/src/afs/SOLARIS/osi_vnodeops.c +++ b/src/afs/SOLARIS/osi_vnodeops.c @@ -1817,7 +1817,11 @@ afs_inactive(struct vcache *avc, afs_ucred_t *acred) afs_InactiveVCache(avc, acred); #ifdef AFS_SUN58_ENV + AFS_GUNLOCK(); + /* VFS_RELE must be called outside of GLOCK, since it can potentially + * call afs_freevfs, which acquires GLOCK */ VFS_RELE(afs_globalVFS); + AFS_GLOCK(); #endif return 0;