Re: BIG files & file systems

Nikita Danilov (Nikita@Namesys.COM)
Fri, 2 Aug 2002 22:10:33 +0400


Trond Myklebust writes:
> >>>>> " " == Nikita Danilov <Nikita@Namesys.COM> writes:
>
> > But there still is a problem with applications (if any) calling
> > seekdir/telldir directly...
>
> Agreed. Note however that the semantics for seekdir/telldir as
> specified by SUSv2 are much weaker than those in our current
> getdents()+lseek().
>
> >From the Opengroup documentation for seekdir, it states that:
>
> On systems that conform to the Single UNIX Specification, Version 2,
> a subsequent call to readdir() may not be at the desired position if
> the value of loc was not obtained from an earlier call to telldir(),
> or if a call to rewinddir() occurred between the call to telldir()
> and the call to seekdir().
>
> IOW assigning a unique offset to each and every entry in the directory
> is overkill (unless the user is calling telldir() for all those
> entries).

Are you implying some kind of ->telldir() file operation that notifies
file-system that user has intention to later restart readdir from the
"current" position and changing glibc to call sys_telldir/sys_seekdir in
stead of lseek? This will allow file-systems like reiser4 that cannot
restart readdir from 32bitsful of data to, at least, allocate something
in kernel on call to ->telldir() and free in ->release().

>
> Cheers,
> Trond

Nikita.
-
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/