Last change
on this file since 1673 was
1555,
checked in by mitchb, 14 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
|
Rev | Line | |
---|
[1555] | 1 | diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c |
---|
| 2 | index 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.