mirror of
https://git.openafs.org/openafs.git
synced 2025-01-19 15:30:14 +00:00
FBSD7: Don't sleep with the glock
On FreeBSD 7.X, vinvalbuf() can (will) sleep; this results in a panic when the kernel is configured with WITNESS and we hold the glock around it. Drop the glock in this case. Change-Id: I0036aad3059805d77afe9aa9bf7f5d421d6810f8 Reviewed-on: http://gerrit.openafs.org/3551 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementia.org> Tested-by: Derrick Brashear <shadow@dementia.org>
This commit is contained in:
parent
6040a4daa0
commit
b1cb3607ff
@ -1646,7 +1646,9 @@ afs_GetVCache(struct VenusFid *afid, struct vrequest *areq,
|
||||
iheldthelock = VOP_ISLOCKED(vp, curthread);
|
||||
if (!iheldthelock)
|
||||
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, curthread);
|
||||
AFS_GUNLOCK();
|
||||
vinvalbuf(vp, V_SAVE, curthread, PINOD, 0);
|
||||
AFS_GLOCK();
|
||||
if (!iheldthelock)
|
||||
VOP_UNLOCK(vp, LK_EXCLUSIVE, curthread);
|
||||
#elif defined(AFS_FBSD_ENV)
|
||||
|
Loading…
Reference in New Issue
Block a user