Lines Matching refs:newrp

281 static int nfsrc_getudp(struct nfsrv_descript *nd, struct nfsrvcache *newrp);
282 static int nfsrc_gettcp(struct nfsrv_descript *nd, struct nfsrvcache *newrp);
339 struct nfsrvcache *newrp; in nfsrvd_getcache() local
344 newrp = malloc(sizeof (struct nfsrvcache), in nfsrvd_getcache()
346 NFSBZERO((caddr_t)newrp, sizeof (struct nfsrvcache)); in nfsrvd_getcache()
348 newrp->rc_flag = RC_NFSV4; in nfsrvd_getcache()
350 newrp->rc_flag = RC_NFSV3; in nfsrvd_getcache()
352 newrp->rc_flag = RC_NFSV2; in nfsrvd_getcache()
353 newrp->rc_xid = nd->nd_retxid; in nfsrvd_getcache()
354 newrp->rc_proc = nd->nd_procnum; in nfsrvd_getcache()
355 newrp->rc_sockref = nd->nd_sockref; in nfsrvd_getcache()
356 newrp->rc_cachetime = nd->nd_tcpconntime; in nfsrvd_getcache()
358 newrp->rc_flag |= RC_SAMETCPCONN; in nfsrvd_getcache()
360 newrp->rc_flag |= RC_UDP; in nfsrvd_getcache()
361 ret = nfsrc_getudp(nd, newrp); in nfsrvd_getcache()
363 ret = nfsrc_gettcp(nd, newrp); in nfsrvd_getcache()
375 nfsrc_getudp(struct nfsrv_descript *nd, struct nfsrvcache *newrp) in nfsrc_getudp() argument
384 mutex = nfsrc_cachemutex(newrp); in nfsrc_getudp()
385 hp = NFSRCUDPHASH(newrp->rc_xid); in nfsrc_getudp()
389 if (newrp->rc_xid == rp->rc_xid && in nfsrc_getudp()
390 newrp->rc_proc == rp->rc_proc && in nfsrc_getudp()
391 (newrp->rc_flag & rp->rc_flag & RC_NFSVERS) && in nfsrc_getudp()
431 free(newrp, M_NFSRVCACHE); in nfsrc_getudp()
439 newrp->rc_flag |= RC_INPROG; in nfsrc_getudp()
442 newrp->rc_inet = saddr->sin_addr.s_addr; in nfsrc_getudp()
445 NFSBCOPY((caddr_t)&saddr6->sin6_addr, (caddr_t)&newrp->rc_inet6, in nfsrc_getudp()
447 newrp->rc_flag |= RC_INETIPV6; in nfsrc_getudp()
449 LIST_INSERT_HEAD(hp, newrp, rc_hash); in nfsrc_getudp()
450 TAILQ_INSERT_TAIL(&NFSD_VNET(nfsrvudplru), newrp, rc_lru); in nfsrc_getudp()
452 nd->nd_rp = newrp; in nfsrc_getudp()
610 nfsrc_gettcp(struct nfsrv_descript *nd, struct nfsrvcache *newrp) in nfsrc_gettcp() argument
619 mutex = nfsrc_cachemutex(newrp); in nfsrc_gettcp()
620 hp = NFSRCHASH(newrp->rc_xid); in nfsrc_gettcp()
621 newrp->rc_reqlen = nfsrc_getlenandcksum(nd->nd_mrep, &newrp->rc_cksum); in nfsrc_gettcp()
632 if (newrp->rc_xid == rp->rc_xid && in nfsrc_gettcp()
634 ((newrp->rc_flag & RC_SAMETCPCONN) && in nfsrc_gettcp()
635 newrp->rc_sockref == rp->rc_sockref)) && in nfsrc_gettcp()
636 (newrp->rc_flag & rp->rc_flag & RC_NFSVERS) && in nfsrc_gettcp()
637 newrp->rc_proc == rp->rc_proc && in nfsrc_gettcp()
638 ((newrp->rc_flag & RC_NFSV4) && in nfsrc_gettcp()
639 newrp->rc_sockref != rp->rc_sockref && in nfsrc_gettcp()
640 newrp->rc_cachetime >= rp->rc_cachetime) in nfsrc_gettcp()
641 && newrp->rc_reqlen == rp->rc_reqlen && in nfsrc_gettcp()
642 newrp->rc_cksum == rp->rc_cksum) { in nfsrc_gettcp()
691 if (newrp->rc_sockref == rp->rc_sockref) in nfsrc_gettcp()
700 if (newrp->rc_sockref == rp->rc_sockref) in nfsrc_gettcp()
709 if (newrp->rc_sockref == rp->rc_sockref) in nfsrc_gettcp()
719 free(newrp, M_NFSRVCACHE); in nfsrc_gettcp()
729 newrp->rc_cachetime = NFSD_MONOSEC; in nfsrc_gettcp()
730 newrp->rc_flag |= RC_INPROG; in nfsrc_gettcp()
731 LIST_INSERT_HEAD(hp, newrp, rc_hash); in nfsrc_gettcp()
733 nd->nd_rp = newrp; in nfsrc_gettcp()