Re: Bug in knfsd unlink.

Olaf Kirch (okir@monad.swb.de)
Tue, 16 Feb 1999 14:44:31 +0100


On Mon, 15 Feb 1999 23:48:48 PST, "G. Allen Morris III" wrote:
> The problem (as Trod said) is that the cache only gets flushed if
> find_fh_dentry(...) is called. So is the server is not accessed
> then the cache never gets flushed.

Unfsd has suffered from the same problem for ages. Caching open files,
dentries and the like is just bad.

> I see three ways to solve this problem:
>
> 1. have a user daemon make a system call periodically.
> 2. have a user daemon send a signal periodically
> 3. have the kernel call a subroutine periodically.

4. Make one nfsd thread call svc_recv with a small timeout (e.g. 3 secs).
If it doesn't receive a request within that interval, it will return
with -EAGAIN.

The timeout parameter was specifically added for cache flushing
purposes.

Olaf

-- 
Olaf Kirch         |  --- o --- Nous sommes du soleil we love when we play
okir@monad.swb.de  |    / | \   sol.dhoop.naytheet.ah kin.ir.samse.qurax

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/