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

Reply via email to