[OpenAFS-devel] Re: [OpenAFS] Linux kernel panic, OpenAFS client, gconf
chas williams (contractor)
chas@cmf.nrl.navy.mil
Tue, 29 Jun 2004 09:39:12 -0400
something else that bothers me about the afs linux client. if the dentry
revalidate fails, it doesnt mark the contents of the directory as bad.
for instance the nfs client does the following:
out_bad:
NFS_CACHEINV(dir);
if (inode && S_ISDIR(inode->i_mode)) {
/* Purge readdir caches. */
nfs_zap_caches(inode);
...
shrink_dcache_parent(dentry);
}
d_drop(dentry);
in afs we simply do:
if (bad_dentry) {
shrink_dcache_parent(dp);
d_drop(dp);
}
if dp's inode happens to be a directory shouldnt we avc->states &= ~CStatd
to force the client to go back to the server to get a new copy? should
this also be done to the parent inode as well?