Lines Matching refs:clp

151 legacy_recdir_name_error(struct nfs4_client *clp, int error)
164 nfsd4_client_tracking_exit(clp->net);
169 __nfsd4_create_reclaim_record_grace(struct nfs4_client *clp,
188 crp->cr_clp = clp;
192 nfsd4_create_clid_dir(struct nfs4_client *clp)
198 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
200 if (test_and_set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
205 status = nfs4_make_rec_clidname(dname, &clp->cl_name);
207 return legacy_recdir_name_error(clp, status);
243 __nfsd4_create_reclaim_record_grace(clp, dname,
385 nfsd4_remove_clid_dir(struct nfs4_client *clp)
390 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
392 if (!nn->rec_file || !test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
395 status = nfs4_make_rec_clidname(dname, &clp->cl_name);
397 return legacy_recdir_name_error(clp, status);
402 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
675 nfsd4_check_legacy_client(struct nfs4_client *clp)
680 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
684 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
687 status = nfs4_make_rec_clidname(dname, &clp->cl_name);
689 legacy_recdir_name_error(clp, status);
704 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
705 crp->cr_clp = clp;
1096 nfsd4_cld_create(struct nfs4_client *clp)
1100 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1104 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1114 cup->cu_u.cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len;
1115 memcpy(cup->cu_u.cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data,
1116 clp->cl_name.len);
1121 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1133 nfsd4_cld_create_v2(struct nfs4_client *clp)
1137 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1145 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1156 cmsg->cm_u.cm_clntinfo.cc_name.cn_len = clp->cl_name.len;
1157 memcpy(cmsg->cm_u.cm_clntinfo.cc_name.cn_id, clp->cl_name.data,
1158 clp->cl_name.len);
1159 if (clp->cl_cred.cr_raw_principal)
1160 principal = clp->cl_cred.cr_raw_principal;
1161 else if (clp->cl_cred.cr_principal)
1162 principal = clp->cl_cred.cr_principal;
1186 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1199 nfsd4_cld_remove(struct nfs4_client *clp)
1203 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1207 if (!test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1217 cup->cu_u.cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len;
1218 memcpy(cup->cu_u.cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data,
1219 clp->cl_name.len);
1224 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1241 nfsd4_cld_check_v0(struct nfs4_client *clp)
1245 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1249 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1260 cup->cu_u.cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len;
1261 memcpy(cup->cu_u.cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data,
1262 clp->cl_name.len);
1267 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1281 nfsd4_cld_check(struct nfs4_client *clp)
1284 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1291 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1295 crp = nfsd4_find_reclaim_client(clp->cl_name, nn);
1300 status = nfs4_make_rec_clidname(dname, &clp->cl_name);
1319 crp->cr_clp = clp;
1324 nfsd4_cld_check_v2(struct nfs4_client *clp)
1327 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1337 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1341 crp = nfsd4_find_reclaim_client(clp->cl_name, nn);
1346 status = nfs4_make_rec_clidname(dname, &clp->cl_name);
1366 if (clp->cl_cred.cr_raw_principal)
1367 principal = clp->cl_cred.cr_raw_principal;
1368 else if (clp->cl_cred.cr_principal)
1369 principal = clp->cl_cred.cr_principal;
1389 crp->cr_clp = clp;
1746 nfsd4_cltrack_client_has_session(struct nfs4_client *clp)
1760 clp->cl_minorversion ? 'Y' : 'N');
1874 nfsd4_cltrack_upcall_lock(struct nfs4_client *clp)
1876 wait_on_bit_lock(&clp->cl_flags, NFSD4_CLIENT_UPCALL_LOCK,
1881 nfsd4_cltrack_upcall_unlock(struct nfs4_client *clp)
1884 clear_bit(NFSD4_CLIENT_UPCALL_LOCK, &clp->cl_flags);
1886 wake_up_bit(&clp->cl_flags, NFSD4_CLIENT_UPCALL_LOCK);
1890 nfsd4_umh_cltrack_create(struct nfs4_client *clp)
1893 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
1907 if (clp->cl_minorversion == 0 &&
1908 test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1911 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len);
1917 has_session = nfsd4_cltrack_client_has_session(clp);
1920 nfsd4_cltrack_upcall_lock(clp);
1922 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1923 nfsd4_cltrack_upcall_unlock(clp);
1931 nfsd4_umh_cltrack_remove(struct nfs4_client *clp)
1935 if (!test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1938 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len);
1944 nfsd4_cltrack_upcall_lock(clp);
1945 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags) &&
1947 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1948 nfsd4_cltrack_upcall_unlock(clp);
1954 nfsd4_umh_cltrack_check(struct nfs4_client *clp)
1959 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags))
1962 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len);
1968 has_session = nfsd4_cltrack_client_has_session(clp);
1969 legacy = nfsd4_cltrack_legacy_recdir(&clp->cl_name);
1971 nfsd4_cltrack_upcall_lock(clp);
1972 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) {
1977 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags);
1979 nfsd4_cltrack_upcall_unlock(clp);
2080 nfsd4_client_record_create(struct nfs4_client *clp)
2082 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
2085 nn->client_tracking_ops->create(clp);
2089 nfsd4_client_record_remove(struct nfs4_client *clp)
2091 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
2094 nn->client_tracking_ops->remove(clp);
2098 nfsd4_client_record_check(struct nfs4_client *clp)
2100 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
2103 return nn->client_tracking_ops->check(clp);