Tom Haynes wrote:
> usr/src/uts/common/fs/nfs/nfs4_srv.c
>
> 6067 static nfsstat4
> 6068 rfs4_lookup(component4 *component, struct svc_req *req,
> 6069 struct compound_state *cs)
>
> 6097 /* If necessary, convert to UTF-8 for illbehaved clients */
> 6098 6099 ca = (struct sockaddr
> *)svc_getrpccaller(req->rq_xprt)->buf;
> 6100 name = nfscmd_convname(ca, cs->exi, nm, NFSCMD_CONV_INBOUND,
> 6101 MAXPATHLEN + 1);
> 6102 6103 if (name == NULL) {
>
> So now every lookup will make a call to userland regardless.
Not as I read it - nfscmd_convname() calls nfscmd_findmap(),
which searches an in-kernel list, calling nfscmd_charmap() to
do the upcall only if a map is not found.
Rob T