Home | History | Annotate | Download | only in server

Lines Matching refs:newrp

282 static int nfsrc_getudp(struct nfsrv_descript *nd, struct nfsrvcache *newrp);
283 static int nfsrc_gettcp(struct nfsrv_descript *nd, struct nfsrvcache *newrp);
334 struct nfsrvcache *newrp;
339 MALLOC(newrp, struct nfsrvcache *, sizeof (struct nfsrvcache),
341 NFSBZERO((caddr_t)newrp, sizeof (struct nfsrvcache));
343 newrp->rc_flag = RC_NFSV4;
345 newrp->rc_flag = RC_NFSV3;
347 newrp->rc_flag = RC_NFSV2;
348 newrp->rc_xid = nd->nd_retxid;
349 newrp->rc_proc = nd->nd_procnum;
350 newrp->rc_sockref = nd->nd_sockref;
351 newrp->rc_cachetime = nd->nd_tcpconntime;
353 newrp->rc_flag |= RC_SAMETCPCONN;
355 newrp->rc_flag |= RC_UDP;
356 ret = nfsrc_getudp(nd, newrp);
358 ret = nfsrc_gettcp(nd, newrp);
370 nfsrc_getudp(struct nfsrv_descript *nd, struct nfsrvcache *newrp)
379 mutex = nfsrc_cachemutex(newrp);
380 hp = NFSRCUDPHASH(newrp->rc_xid);
384 if (newrp->rc_xid == rp->rc_xid &&
385 newrp->rc_proc == rp->rc_proc &&
386 (newrp->rc_flag & rp->rc_flag & RC_NFSVERS) &&
426 free((caddr_t)newrp, M_NFSRVCACHE);
434 newrp->rc_flag |= RC_INPROG;
437 newrp->rc_inet = saddr->sin_addr.s_addr;
440 NFSBCOPY((caddr_t)&saddr6->sin6_addr, (caddr_t)&newrp->rc_inet6,
442 newrp->rc_flag |= RC_INETIPV6;
444 LIST_INSERT_HEAD(hp, newrp, rc_hash);
445 TAILQ_INSERT_TAIL(&nfsrvudplru, newrp, rc_lru);
447 nd->nd_rp = newrp;
603 nfsrc_gettcp(struct nfsrv_descript *nd, struct nfsrvcache *newrp)
612 mutex = nfsrc_cachemutex(newrp);
613 hp = NFSRCHASH(newrp->rc_xid);
614 newrp->rc_reqlen = nfsrc_getlenandcksum(nd->nd_mrep, &newrp->rc_cksum);
625 if (newrp->rc_xid == rp->rc_xid &&
627 ((newrp->rc_flag & RC_SAMETCPCONN) &&
628 newrp->rc_sockref == rp->rc_sockref)) &&
629 (newrp->rc_flag & rp->rc_flag & RC_NFSVERS) &&
630 newrp->rc_proc == rp->rc_proc &&
631 ((newrp->rc_flag & RC_NFSV4) &&
632 newrp->rc_sockref != rp->rc_sockref &&
633 newrp->rc_cachetime >= rp->rc_cachetime)
634 && newrp->rc_reqlen == rp->rc_reqlen &&
635 newrp->rc_cksum == rp->rc_cksum) {
684 if (newrp->rc_sockref == rp->rc_sockref)
693 if (newrp->rc_sockref == rp->rc_sockref)
702 if (newrp->rc_sockref == rp->rc_sockref)
712 free((caddr_t)newrp, M_NFSRVCACHE);
722 newrp->rc_cachetime = NFSD_MONOSEC;
723 newrp->rc_flag |= RC_INPROG;
724 LIST_INSERT_HEAD(hp, newrp, rc_hash);
726 nd->nd_rp = newrp;