Messages in this thread | | | From | Nikita Danilov <> | Date | Fri, 2 Aug 2002 22:10:33 +0400 | Subject | Re: BIG files & file systems |
| |
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/
| |