Re: If not readdir() then what?

From: Neil Brown
Date: Tue Apr 10 2007 - 17:47:53 EST


On Sunday April 8, joern@xxxxxxxxxxxxxxx wrote:
> On Sun, 8 April 2007 11:11:20 -0700, H. Peter Anvin wrote:
> >
> > Well, the question is if you can keep the seekdir/telldir cookie around
> > as a pointer -- preferrably in userspace, of course. You would
> > presumably garbage-collect them on closedir() -- there is no other point
> > at which you could.
>
> Garbage-collecting them on closedir() does not work. It surprised me as
> well, but there seem to be applications that keep the telldir() cookie
> around after closedir(). Iirc, "rm -r" was one of them.
>
> Neil, is this correct?

It's just NFS. nfsd does open/getdents/close on every readdir
request.
"rm -r" is the application that tends to detect any problems with
cookie handling between the NFS client and server.

(I'm sure there was once an 'rm -r' that used telldir/seekdir, but I
cannot find it. Maybe it was level-7 UNIX :-)

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