Lines Matching refs:clp
149 legacy_recdir_name_error(struct nfs4_client *clp, int error) in legacy_recdir_name_error() argument
162 nfsd4_client_tracking_exit(clp->net); in legacy_recdir_name_error()
167 nfsd4_create_clid_dir(struct nfs4_client *clp) in nfsd4_create_clid_dir() argument
174 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_create_clid_dir()
176 if (test_and_set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_create_clid_dir()
181 status = nfs4_make_rec_clidname(dname, &clp->cl_name); in nfsd4_create_clid_dir()
183 return legacy_recdir_name_error(clp, status); in nfsd4_create_clid_dir()
221 crp->cr_clp = clp; in nfsd4_create_clid_dir()
337 nfsd4_remove_clid_dir(struct nfs4_client *clp) in nfsd4_remove_clid_dir() argument
343 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_remove_clid_dir()
345 if (!nn->rec_file || !test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_remove_clid_dir()
348 status = nfs4_make_rec_clidname(dname, &clp->cl_name); in nfsd4_remove_clid_dir()
350 return legacy_recdir_name_error(clp, status); in nfsd4_remove_clid_dir()
355 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_remove_clid_dir()
601 nfsd4_check_legacy_client(struct nfs4_client *clp) in nfsd4_check_legacy_client() argument
606 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_check_legacy_client()
609 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_check_legacy_client()
612 status = nfs4_make_rec_clidname(dname, &clp->cl_name); in nfsd4_check_legacy_client()
614 legacy_recdir_name_error(clp, status); in nfsd4_check_legacy_client()
621 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_check_legacy_client()
622 crp->cr_clp = clp; in nfsd4_check_legacy_client()
916 nfsd4_cld_create(struct nfs4_client *clp) in nfsd4_cld_create() argument
920 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_cld_create()
924 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_cld_create()
934 cup->cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len; in nfsd4_cld_create()
935 memcpy(cup->cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data, in nfsd4_cld_create()
936 clp->cl_name.len); in nfsd4_cld_create()
941 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_cld_create()
953 nfsd4_cld_remove(struct nfs4_client *clp) in nfsd4_cld_remove() argument
957 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_cld_remove()
961 if (!test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_cld_remove()
971 cup->cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len; in nfsd4_cld_remove()
972 memcpy(cup->cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data, in nfsd4_cld_remove()
973 clp->cl_name.len); in nfsd4_cld_remove()
978 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_cld_remove()
990 nfsd4_cld_check(struct nfs4_client *clp) in nfsd4_cld_check() argument
994 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_cld_check()
998 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_cld_check()
1009 cup->cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len; in nfsd4_cld_check()
1010 memcpy(cup->cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data, in nfsd4_cld_check()
1011 clp->cl_name.len); in nfsd4_cld_check()
1016 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_cld_check()
1137 nfsd4_cltrack_client_has_session(struct nfs4_client *clp) in nfsd4_cltrack_client_has_session() argument
1151 clp->cl_minorversion ? 'Y' : 'N'); in nfsd4_cltrack_client_has_session()
1268 nfsd4_cltrack_upcall_lock(struct nfs4_client *clp) in nfsd4_cltrack_upcall_lock() argument
1270 wait_on_bit_lock(&clp->cl_flags, NFSD4_CLIENT_UPCALL_LOCK, in nfsd4_cltrack_upcall_lock()
1275 nfsd4_cltrack_upcall_unlock(struct nfs4_client *clp) in nfsd4_cltrack_upcall_unlock() argument
1278 clear_bit(NFSD4_CLIENT_UPCALL_LOCK, &clp->cl_flags); in nfsd4_cltrack_upcall_unlock()
1280 wake_up_bit(&clp->cl_flags, NFSD4_CLIENT_UPCALL_LOCK); in nfsd4_cltrack_upcall_unlock()
1284 nfsd4_umh_cltrack_create(struct nfs4_client *clp) in nfsd4_umh_cltrack_create() argument
1287 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_umh_cltrack_create()
1301 if (clp->cl_minorversion == 0 && in nfsd4_umh_cltrack_create()
1302 test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_umh_cltrack_create()
1305 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len); in nfsd4_umh_cltrack_create()
1311 has_session = nfsd4_cltrack_client_has_session(clp); in nfsd4_umh_cltrack_create()
1314 nfsd4_cltrack_upcall_lock(clp); in nfsd4_umh_cltrack_create()
1316 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_umh_cltrack_create()
1317 nfsd4_cltrack_upcall_unlock(clp); in nfsd4_umh_cltrack_create()
1325 nfsd4_umh_cltrack_remove(struct nfs4_client *clp) in nfsd4_umh_cltrack_remove() argument
1329 if (!test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_umh_cltrack_remove()
1332 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len); in nfsd4_umh_cltrack_remove()
1338 nfsd4_cltrack_upcall_lock(clp); in nfsd4_umh_cltrack_remove()
1339 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags) && in nfsd4_umh_cltrack_remove()
1341 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_umh_cltrack_remove()
1342 nfsd4_cltrack_upcall_unlock(clp); in nfsd4_umh_cltrack_remove()
1348 nfsd4_umh_cltrack_check(struct nfs4_client *clp) in nfsd4_umh_cltrack_check() argument
1353 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_umh_cltrack_check()
1356 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len); in nfsd4_umh_cltrack_check()
1362 has_session = nfsd4_cltrack_client_has_session(clp); in nfsd4_umh_cltrack_check()
1363 legacy = nfsd4_cltrack_legacy_recdir(&clp->cl_name); in nfsd4_umh_cltrack_check()
1365 nfsd4_cltrack_upcall_lock(clp); in nfsd4_umh_cltrack_check()
1366 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) { in nfsd4_umh_cltrack_check()
1371 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_umh_cltrack_check()
1373 nfsd4_cltrack_upcall_unlock(clp); in nfsd4_umh_cltrack_check()
1463 nfsd4_client_record_create(struct nfs4_client *clp) in nfsd4_client_record_create() argument
1465 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_client_record_create()
1468 nn->client_tracking_ops->create(clp); in nfsd4_client_record_create()
1472 nfsd4_client_record_remove(struct nfs4_client *clp) in nfsd4_client_record_remove() argument
1474 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_client_record_remove()
1477 nn->client_tracking_ops->remove(clp); in nfsd4_client_record_remove()
1481 nfsd4_client_record_check(struct nfs4_client *clp) in nfsd4_client_record_check() argument
1483 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_client_record_check()
1486 return nn->client_tracking_ops->check(clp); in nfsd4_client_record_check()