Subject: Re: 64 bit inode changes
To: None <tech-kern@netbsd.org>
From: Joerg Sonnenberger <joerg@britannica.bec.de>
List: tech-kern
Date: 08/16/2005 15:35:13
On Mon, Aug 15, 2005 at 06:14:33PM -0700, Gordon Waidhofer wrote:
> Do not eliminate d_reclen from struct dirent. I've found it useful
> from time-to-time to store additional values after d_name in a
> dirent record (for example, the NFS cookies). Expect dirents to
> become more complicated over time. Deriving the record length
> from d_namlen alone will become impossible and it becomes quite
> awkward to reliably calculate the d_reclen without the variable.
Why should dirent grow? It is already more complicated than necessary
since the data included in d_type is used an optimisation to save stats.
I also see absolutely no reason to store NFS cookies in dirents. I'm
investigating how can I eliminate the separate NFS cookie passing and
optimise the implementation of getdents emulations in DragonFly. In
principle, just pass a function to readdir for the actual writeout
instead of doing the uio directly and pass it the current offset -- NFS
can take care of the rest.
Joerg