Lines Matching refs:clp

152 legacy_recdir_name_error(struct nfs4_client *clp, int error)
165 nfsd4_client_tracking_exit(clp->net);
170 __nfsd4_create_reclaim_record_grace(struct nfs4_client *clp,
189 crp->cr_clp = clp;
193 nfsd4_create_clid_dir(struct nfs4_client *clp)
199 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
201 if (test_and_set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
206 status = nfs4_make_rec_clidname(dname, &clp->cl_name);
208 return legacy_recdir_name_error(clp, status);
244 __nfsd4_create_reclaim_record_grace(clp, dname,
386 nfsd4_remove_clid_dir(struct nfs4_client *clp)
391 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
393 if (!nn->rec_file || !test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
396 status = nfs4_make_rec_clidname(dname, &clp->cl_name);
398 return legacy_recdir_name_error(clp, status);
403 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
676 nfsd4_check_legacy_client(struct nfs4_client *clp)
681 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
685 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
688 status = nfs4_make_rec_clidname(dname, &clp->cl_name);
690 legacy_recdir_name_error(clp, status);
705 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
706 crp->cr_clp = clp;
1105 nfsd4_cld_create(struct nfs4_client *clp)
1109 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1113 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1123 cup->cu_u.cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len;
1124 memcpy(cup->cu_u.cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data,
1125 clp->cl_name.len);
1130 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1142 nfsd4_cld_create_v2(struct nfs4_client *clp)
1146 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1154 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1165 cmsg->cm_u.cm_clntinfo.cc_name.cn_len = clp->cl_name.len;
1166 memcpy(cmsg->cm_u.cm_clntinfo.cc_name.cn_id, clp->cl_name.data,
1167 clp->cl_name.len);
1168 if (clp->cl_cred.cr_raw_principal)
1169 principal = clp->cl_cred.cr_raw_principal;
1170 else if (clp->cl_cred.cr_principal)
1171 principal = clp->cl_cred.cr_principal;
1195 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1208 nfsd4_cld_remove(struct nfs4_client *clp)
1212 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1216 if (!test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1226 cup->cu_u.cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len;
1227 memcpy(cup->cu_u.cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data,
1228 clp->cl_name.len);
1233 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1250 nfsd4_cld_check_v0(struct nfs4_client *clp)
1254 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1258 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1269 cup->cu_u.cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len;
1270 memcpy(cup->cu_u.cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data,
1271 clp->cl_name.len);
1276 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1290 nfsd4_cld_check(struct nfs4_client *clp)
1293 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1296 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1300 crp = nfsd4_find_reclaim_client(clp->cl_name, nn);
1310 status = nfs4_make_rec_clidname(dname, &clp->cl_name);
1330 crp->cr_clp = clp;
1335 nfsd4_cld_check_v2(struct nfs4_client *clp)
1338 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1346 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1350 crp = nfsd4_find_reclaim_client(clp->cl_name, nn);
1359 status = nfs4_make_rec_clidname(dname, &clp->cl_name);
1380 if (clp->cl_cred.cr_raw_principal)
1381 principal = clp->cl_cred.cr_raw_principal;
1382 else if (clp->cl_cred.cr_principal)
1383 principal = clp->cl_cred.cr_principal;
1403 crp->cr_clp = clp;
1761 nfsd4_cltrack_client_has_session(struct nfs4_client *clp)
1775 clp->cl_minorversion ? 'Y' : 'N');
1889 nfsd4_cltrack_upcall_lock(struct nfs4_client *clp)
1891 wait_on_bit_lock(&clp->cl_flags, NFSD4_CLIENT_UPCALL_LOCK,
1896 nfsd4_cltrack_upcall_unlock(struct nfs4_client *clp)
1899 clear_bit(NFSD4_CLIENT_UPCALL_LOCK, &clp->cl_flags);
1901 wake_up_bit(&clp->cl_flags, NFSD4_CLIENT_UPCALL_LOCK);
1905 nfsd4_umh_cltrack_create(struct nfs4_client *clp)
1908 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1922 if (clp->cl_minorversion == 0 &&
1923 test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1926 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len);
1932 has_session = nfsd4_cltrack_client_has_session(clp);
1935 nfsd4_cltrack_upcall_lock(clp);
1937 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1938 nfsd4_cltrack_upcall_unlock(clp);
1946 nfsd4_umh_cltrack_remove(struct nfs4_client *clp)
1950 if (!test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1953 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len);
1959 nfsd4_cltrack_upcall_lock(clp);
1960 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags) &&
1962 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1963 nfsd4_cltrack_upcall_unlock(clp);
1969 nfsd4_umh_cltrack_check(struct nfs4_client *clp)
1974 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1977 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len);
1983 has_session = nfsd4_cltrack_client_has_session(clp);
1984 legacy = nfsd4_cltrack_legacy_recdir(&clp->cl_name);
1986 nfsd4_cltrack_upcall_lock(clp);
1987 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) {
1992 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1994 nfsd4_cltrack_upcall_unlock(clp);
2109 nfsd4_client_record_create(struct nfs4_client *clp)
2111 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
2114 nn->client_tracking_ops->create(clp);
2118 nfsd4_client_record_remove(struct nfs4_client *clp)
2120 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
2123 nn->client_tracking_ops->remove(clp);
2127 nfsd4_client_record_check(struct nfs4_client *clp)
2129 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
2132 return nn->client_tracking_ops->check(clp);