/* Look up a path name component Note: the dentry in the resp->fh may be negative if the file doesn't exist yet. N.B. After this call resp->fh needs an fh_put  */
static __be32 nfsd_proc_lookup(struct svc_rqst *rqstp, struct nfsd_diropargs *argp, struct nfsd_diropres *resp)
/* Look up a path name component Note: the dentry in the resp->fh may be negative if the file doesn't exist yet. N.B. After this call resp->fh needs an fh_put  */
static __be32 nfsd_proc_lookup(struct svc_rqst *rqstp, struct nfsd_diropargs *argp, struct nfsd_diropres *resp)
{
	__be32	nfserr;
	dprintk("nfsd: LOOKUP   %s %.*s\n",
		SVCFH_fmt(&argp->fh), argp->len, argp->name);
	fh_init(&resp->fh, NFS_FHSIZE);
	nfserr = nfsd_lookup(rqstp, &argp->fh, argp->name, argp->len,
				 &resp->fh);
	fh_put(&argp->fh);
	return nfsd_return_dirop(nfserr, resp);
}