Messages in this thread | | | Date | Tue, 10 Jul 2001 15:41:35 +0200 | From | Andi Kleen <> | Subject | Re: NFS Client patch |
| |
On Wed, Jul 11, 2001 at 01:33:11AM +1200, Chris Wedgwood wrote: > On Mon, Jul 09, 2001 at 08:33:31PM +0200, Andi Kleen wrote: > > Actually all the file systems who do that on Linux (JFS, XFS, > reiserfs) have fixed the issue properly server side, by adding a > layer that generates stable cookies. You should too. > > I've always thought that was a stupid fix. Why not have the clients be > smarted and make them responsible for getting a new cookie if the old > one is hosed?
Because to get that new cookie you would need another cookie; otherwise you could violate the readdir guarantee that it'll never return files twice.
> For linux, with the dcache, I'm not even sure that this would be all > the hard. Persumable Solaris could (does?) do the same?
dcache is not populated on readdir for good reasons (it would require reading the inodes and tie a of lot of memory) and you would need to lock all the dcache entries belong to a directory while a nfs readdir; tieing up even more memory. Also a readdir() is not bounded in time.
BTW; the cookie issue is not an NFS only problem. It occurs on local IO as well. Just consider rm -rf - reading directories and in parallel deleting them (the original poster's file system would have surely gotten that wrong). Another tricky case is telldir().
-Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |