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
