Lines Matching refs:cp

75 static void rfs4_ss_clid_write(rfs4_client_t *cp, char *leaf);
76 static void rfs4_ss_clid_write_one(rfs4_client_t *cp, char *dir, char *leaf);
78 static void rfs4_ss_chkclid_sip(rfs4_client_t *cp, rfs4_servinst_t *sip);
812 rfs4_ss_chkclid(rfs4_client_t *cp)
835 rfs4_ss_chkclid_sip(cp, sip);
838 if (cp->rc_can_reclaim)
845 rfs4_ss_chkclid_sip(rfs4_client_t *cp, rfs4_servinst_t *sip)
872 if (osp->cl_id4.id_len == cp->rc_nfs_client.id_len) {
873 if (bcmp(osp->cl_id4.id_val, cp->rc_nfs_client.id_val,
875 cp->rc_can_reclaim = 1;
891 rfs4_ss_clid(rfs4_client_t *cp)
904 ca = (struct sockaddr *)&cp->rc_addr;
922 (longlong_t)cp->rc_clientid);
923 rfs4_ss_clid_write(cp, leaf);
932 rfs4_ss_clid_write(rfs4_client_t *cp, char *leaf)
958 rfs4_ss_clid_write_one(cp, dss_path->path, leaf);
969 rfs4_ss_clid_write_one(rfs4_client_t *cp, char *dss_path, char *leaf)
979 nfs_client_id4 *cl_id4 = &(cp->rc_nfs_client);
1000 * what to remove, in the future. However, the dir part of cp->ss_pn
1004 if (cp->rc_ss_pn != NULL) {
1005 if (strcmp(cp->rc_ss_pn->leaf, leaf) == 0) {
1010 rfs4_ss_pnfree(cp->rc_ss_pn);
1011 cp->rc_ss_pn = ss_pn;
1014 cp->rc_ss_pn = ss_pn;
1094 rfs4_client_t *cp = (rfs4_client_t *)ent;
1101 if (clr->addr_type != cp->rc_addr.ss_family) {
1113 ent_sin6 = (struct sockaddr_in6 *)&cp->rc_addr;
1120 cp->rc_forced_expire = 1;
1130 ent_sin = (struct sockaddr_in *)&cp->rc_addr;
1137 cp->rc_forced_expire = 1;
1503 rfs4_client_t *cp = (rfs4_client_t *)entry;
1506 return (*idp == cp->rc_clientid);
1512 rfs4_client_t *cp = (rfs4_client_t *)entry;
1514 return (&cp->rc_clientid);
1535 rfs4_client_t *cp = (rfs4_client_t *)entry;
1538 if (cp->rc_nfs_client.id_len != nfs_client->id_len)
1541 return (bcmp(cp->rc_nfs_client.id_val, nfs_client->id_val,
1548 rfs4_client_t *cp = (rfs4_client_t *)entry;
1550 return (&cp->rc_nfs_client);
1556 rfs4_client_t *cp = (rfs4_client_t *)u_entry;
1559 if (rfs4_dbe_is_invalid(cp->rc_dbe)) {
1560 cp->rc_ss_remove = 1;
1569 cp_expired = (cp->rc_forced_expire ||
1570 (gethrestime_sec() - cp->rc_last_access
1573 if (!cp->rc_ss_remove && cp_expired)
1574 cp->rc_ss_remove = 1;
1582 rfs4_dss_remove_cpleaf(rfs4_client_t *cp)
1585 char *leaf = cp->rc_ss_pn->leaf;
1631 rfs4_client_t *cp = (rfs4_client_t *)u_entry;
1633 mutex_destroy(cp->rc_cbinfo.cb_lock);
1634 cv_destroy(cp->rc_cbinfo.cb_cv);
1635 cv_destroy(cp->rc_cbinfo.cb_cv_nullcaller);
1636 list_destroy(&cp->rc_openownerlist);
1639 rfs4_cbinfo_free(&cp->rc_cbinfo);
1641 if (cp->rc_cp_confirmed)
1642 rfs4_client_rele(cp->rc_cp_confirmed);
1644 if (cp->rc_ss_pn) {
1646 if (cp->rc_ss_remove)
1647 rfs4_dss_remove_cpleaf(cp);
1648 rfs4_ss_pnfree(cp->rc_ss_pn);
1652 kmem_free(cp->rc_nfs_client.id_val, cp->rc_nfs_client.id_len);
1654 if (cp->rc_sysidt != LM_NOSYSID)
1655 lm_free_sysidt(cp->rc_sysidt);
1661 rfs4_client_t *cp = (rfs4_client_t *)u_entry;
1668 cidp = (cid *)&cp->rc_clientid;
1670 cidp->impl_id.c_id = (uint32_t)rfs4_dbe_getid(cp->rc_dbe);
1677 cp->rc_nfs_client.id_val = kmem_alloc(client->id_len, KM_SLEEP);
1678 cp->rc_nfs_client.id_len = client->id_len;
1679 bcopy(client->id_val, cp->rc_nfs_client.id_val, client->id_len);
1680 cp->rc_nfs_client.verifier = client->verifier;
1685 bcopy(ca, &cp->rc_addr, sizeof (struct sockaddr_in));
1687 bcopy(ca, &cp->rc_addr, sizeof (struct sockaddr_in6));
1688 cp->rc_nfs_client.cl_addr = (struct sockaddr *)&cp->rc_addr;
1691 scvp = (scid_confirm_verf *)&cp->rc_confirm_verf;
1696 cp->rc_unlksys_completed = FALSE;
1699 cp->rc_need_confirm = TRUE;
1700 cp->rc_cp_confirmed = NULL;
1703 cp->rc_cbinfo.cb_notified_of_cb_path_down = TRUE;
1706 cp->rc_last_access = gethrestime_sec();
1708 cp->rc_cr_set = NULL;
1710 cp->rc_sysidt = LM_NOSYSID;
1712 list_create(&cp->rc_openownerlist, sizeof (rfs4_openowner_t),
1716 cp->rc_cbinfo.cb_state = CB_UNINIT;
1717 mutex_init(cp->rc_cbinfo.cb_lock, NULL, MUTEX_DEFAULT, NULL);
1718 cv_init(cp->rc_cbinfo.cb_cv, NULL, CV_DEFAULT, NULL);
1719 cv_init(cp->rc_cbinfo.cb_cv_nullcaller, NULL, CV_DEFAULT, NULL);
1726 rfs4_dbe_hold(cp->rc_dbe);
1727 rfs4_servinst_assign(cp, rfs4_cur_servinst);
1728 rfs4_dbe_rele(cp->rc_dbe);
1739 rfs4_client_scv_next(rfs4_client_t *cp)
1744 scvp = (scid_confirm_verf *)&cp->rc_confirm_verf;
1749 rfs4_client_rele(rfs4_client_t *cp)
1751 rfs4_dbe_rele(cp->rc_dbe);
1757 rfs4_client_t *cp;
1767 cp = (rfs4_client_t *)rfs4_dbsearch(rfs4_nfsclnt_idx, client,
1775 return (cp);
1781 rfs4_client_t *cp;
1791 cp = (rfs4_client_t *)rfs4_dbsearch(rfs4_clientid_idx, &clientid,
1796 if (cp && cp->rc_need_confirm && find_unconfirmed == FALSE) {
1797 rfs4_client_rele(cp);
1800 return (cp);
1833 rfs4_clntip_t *cp = (rfs4_clntip_t *)entry;
1839 struct sockaddr_in *a1 = (struct sockaddr_in *)&cp->ri_addr;
1845 struct sockaddr_in6 *a1 = (struct sockaddr_in6 *)&cp->ri_addr;
1859 rfs4_clntip_t *cp = (rfs4_clntip_t *)entry;
1861 return (&cp->ri_addr);
1867 rfs4_clntip_t *cp = (rfs4_clntip_t *)u_entry;
1869 if (rfs4_dbe_is_invalid(cp->ri_dbe))
1883 rfs4_clntip_t *cp = (rfs4_clntip_t *)u_entry;
1888 bcopy(ca, &cp->ri_addr, sizeof (struct sockaddr_in));
1890 bcopy(ca, &cp->ri_addr, sizeof (struct sockaddr_in6));
1893 cp->ri_no_referrals = 1;
1901 rfs4_clntip_t *cp;
1905 cp = (rfs4_clntip_t *)rfs4_dbsearch(rfs4_clntip_idx, addr,
1910 return (cp);
1916 rfs4_clntip_t *cp;
1921 cp = (rfs4_clntip_t *)rfs4_dbsearch(rfs4_clntip_idx, addr,
1923 if (cp == NULL) {
1927 rfs4_dbe_invalidate(cp->ri_dbe);
1928 rfs4_dbe_rele(cp->ri_dbe);
1934 rfs4_lease_expired(rfs4_client_t *cp)
1938 rfs4_dbe_lock(cp->rc_dbe);
1945 if (cp->rc_forced_expire) {
1948 rc = (gethrestime_sec() - cp->rc_last_access > rfs4_lease_time);
1956 if (!cp->rc_ss_remove)
1957 cp->rc_ss_remove = (rc == TRUE);
1959 rfs4_dbe_unlock(cp->rc_dbe);
1965 rfs4_update_lease(rfs4_client_t *cp)
1967 rfs4_dbe_lock(cp->rc_dbe);
1968 if (!cp->rc_forced_expire)
1969 cp->rc_last_access = gethrestime_sec();
1970 rfs4_dbe_unlock(cp->rc_dbe);
2076 rfs4_client_t *cp;
2081 cp = (rfs4_client_t *)rfs4_dbsearch(rfs4_clientid_idx,
2087 if (cp == NULL)
2108 oo->ro_client = cp;
2115 rfs4_dbe_lock(cp->rc_dbe);
2116 list_insert_tail(&cp->rc_openownerlist, oo);
2117 rfs4_dbe_unlock(cp->rc_dbe);
2271 rfs4_client_t *cp;
2276 cp = (rfs4_client_t *)rfs4_dbsearch(rfs4_clientid_idx,
2282 if (cp == NULL)
2286 lo->rl_client = cp;
2922 rfs4_client_t *cp = ((rfs4_deleg_state_t *)argp)->rds_client;
2925 rfs4_dbe_hold(cp->rc_dbe);
2930 dsp->rds_client = cp;
3202 rfs4_client_state_remove(rfs4_client_t *cp)
3206 rfs4_dbe_lock(cp->rc_dbe);
3208 for (oo = list_head(&cp->rc_openownerlist); oo != NULL;
3209 oo = list_next(&cp->rc_openownerlist, oo)) {
3213 rfs4_dbe_unlock(cp->rc_dbe);
3217 rfs4_client_close(rfs4_client_t *cp)
3220 rfs4_dbe_lock(cp->rc_dbe);
3221 rfs4_dbe_invalidate(cp->rc_dbe);
3222 rfs4_dbe_unlock(cp->rc_dbe);
3224 rfs4_client_state_remove(cp);
3227 rfs4_client_rele(cp);
3231 rfs4_check_clientid(clientid4 *cp, int setclid_confirm)
3233 cid *cidp = (cid *) cp;