In article <[email protected]>,
Taylor R Campbell  <[email protected]> wrote:
>> 
>> I guess we could, since the problem is that if the filename is greater than
>> NCHNAMLEN, they will not be cached. But I am not familiar enough with the
>> cache to make the changes required.
>
>I don't mean using the vnode cache.  I mean finding somewhere else to
>hang a cached copy of the executable and p_comm on the struct fdfile
>or something.  Maybe a global table mapping fdfile pointer to cached
>stuff if we don't want to make the struct larger for non-O_EXEC fds.

While this is possible, it creates even more complexity, it would
require hanging something from struct vnode or some global map
which will need hooks everywhere (and a place for bugs and abuse).
I think is time to ditch NCHNAMLEN like FreeBSD did, and rely on
the namei cache for reverse mappings. This way we can also implement
F_GETPATH which Kamil seems to keep bringing up :-). It does not
look too complicated.

christos

Reply via email to