source: trunk/server/common/patches/openafs-release-glock.patch @ 1640

Last change on this file since 1640 was 1555, checked in by mitchb, 13 years ago
There can be only one! (so stop hogging the GLOCK) OpenAFS 1.4.12 had bogus "lost connection" messages, which went away when we rolled back to 1.4.11. However, we're now occasionally having hard lockups because readdir deadlocks waiting for the GLOCK when filldir is holding it and pagefaults. Apply 829838e45f94921d22335154587216f7842e3955 from upstream as a compromise until we can move into the future with OpenAFS 1.5
File size: 507 bytes
[1555]1diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
2index 77c4440..1d83549 100644
3--- a/src/afs/LINUX/osi_vnodeops.c
4+++ b/src/afs/LINUX/osi_vnodeops.c
5@@ -308,7 +308,9 @@ afs_linux_readdir(struct file *fp, void *dirbuf, filldir_t filldir)
6                /* clean up from afs_FindVCache */
7                afs_PutVCache(tvc);
8            }
9+           AFS_GUNLOCK();
10            code = (*filldir) (dirbuf, de->name, len, offset, ino, type);
11+           AFS_GLOCK();
12        }
13 #else
14        code = (*filldir) (dirbuf, de->name, len, offset, ino);
Note: See TracBrowser for help on using the repository browser.