[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?