Lines Matching defs:nd
87 static struct nfsrvcache *nfsrv_lookupcache(struct nfsrv_descript *nd);
186 nfsrv_lookupcache(struct nfsrv_descript *nd)
193 LIST_FOREACH(rp, NFSRCHASH(nd->nd_retxid), rc_hash) {
194 if (nd->nd_retxid == rp->rc_xid &&
195 nd->nd_procnum == rp->rc_proc &&
196 netaddr_match(NETFAMILY(rp), &rp->rc_haddr, nd->nd_nam)) {
238 nfsrv_getcache(struct nfsrv_descript *nd, struct nfssvc_sock *slp, struct mbuf **repp)
247 rp = nfsrv_lookupcache(nd);
265 nfs_rephead(0, nd, slp, rp->rc_status,
305 rp->rc_xid = nd->nd_retxid;
306 saddr = mtod(nd->nd_nam, struct sockaddr_in *);
314 rp->rc_nam = m_copym(nd->nd_nam, 0, M_COPYALL, M_WAIT);
318 rp->rc_proc = nd->nd_procnum;
320 rpdup = nfsrv_lookupcache(nd);
335 LIST_INSERT_HEAD(NFSRCHASH(nd->nd_retxid), rp, rc_hash);
345 nfsrv_updatecache(struct nfsrv_descript *nd, int repvalid, struct mbuf *repmbuf)
350 rp = nfsrv_lookupcache(nd);
359 if (repvalid && nonidempotent[nd->nd_procnum]) {
360 if ((nd->nd_flag & ND_NFSV3) == 0 &&
361 nfsv2_repstat[nfsv2_procid[nd->nd_procnum]]) {
362 rp->rc_status = nd->nd_repstat;