mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 15:00:12 +00:00
fix-for-cache-consistency-on-linux-24-smp-systems-20010315
"Here are the symptoms. I have 2 OpenAFS Linux 2.4 machines, one SMP and one not. --With both of them I access a series of directories and files within (/afs/w/x/y/z/). --I then move to the root directory. --From a third machine, I remove the directories x, y, and z. Then re-add them (same names) with some other files. --From the SMP box, I do an ls in /afs/w and see x. But x is inaccessible. --From the UP box I can see and access x. " ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Missed earlier: not part of the IBM delta. ==================== Part of the alpha patch slipped into the delta; Revert to previous revision
This commit is contained in:
parent
70cbd6f689
commit
4b85432743
@ -628,6 +628,16 @@ static int afs_linux_revalidate(struct dentry *dp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Drop the dentry if the callback is broken */
|
||||
if (!(vcp->states & CStatd)) {
|
||||
d_drop(dp);
|
||||
#ifdef AFS_LINUX24_ENV
|
||||
unlock_kernel();
|
||||
#endif
|
||||
AFS_GUNLOCK();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Make this a fast path (no crref), since it's called so often. */
|
||||
if (vcp->states & CStatd) {
|
||||
if (*dp->d_name.name != '/' && vcp->mvstat == 2) /* root vnode */
|
||||
|
Loading…
Reference in New Issue
Block a user