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()
343 nfsd4_remove_clid_dir(struct nfs4_client *clp) in nfsd4_remove_clid_dir() argument
349 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_remove_clid_dir()
351 if (!nn->rec_file || !test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_remove_clid_dir()
354 status = nfs4_make_rec_clidname(dname, &clp->cl_name); in nfsd4_remove_clid_dir()
356 return legacy_recdir_name_error(clp, status); in nfsd4_remove_clid_dir()
361 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_remove_clid_dir()
606 nfsd4_check_legacy_client(struct nfs4_client *clp) in nfsd4_check_legacy_client() argument
611 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_check_legacy_client()
614 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_check_legacy_client()
617 status = nfs4_make_rec_clidname(dname, &clp->cl_name); in nfsd4_check_legacy_client()
619 legacy_recdir_name_error(clp, status); in nfsd4_check_legacy_client()
626 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_check_legacy_client()
627 crp->cr_clp = clp; in nfsd4_check_legacy_client()
921 nfsd4_cld_create(struct nfs4_client *clp) in nfsd4_cld_create() argument
925 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_cld_create()
929 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_cld_create()
939 cup->cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len; in nfsd4_cld_create()
940 memcpy(cup->cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data, in nfsd4_cld_create()
941 clp->cl_name.len); in nfsd4_cld_create()
946 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_cld_create()
958 nfsd4_cld_remove(struct nfs4_client *clp) in nfsd4_cld_remove() argument
962 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_cld_remove()
966 if (!test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_cld_remove()
976 cup->cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len; in nfsd4_cld_remove()
977 memcpy(cup->cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data, in nfsd4_cld_remove()
978 clp->cl_name.len); in nfsd4_cld_remove()
983 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_cld_remove()
995 nfsd4_cld_check(struct nfs4_client *clp) in nfsd4_cld_check() argument
999 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_cld_check()
1003 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_cld_check()
1014 cup->cu_msg.cm_u.cm_name.cn_len = clp->cl_name.len; in nfsd4_cld_check()
1015 memcpy(cup->cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data, in nfsd4_cld_check()
1016 clp->cl_name.len); in nfsd4_cld_check()
1021 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_cld_check()
1142 nfsd4_cltrack_client_has_session(struct nfs4_client *clp) in nfsd4_cltrack_client_has_session() argument
1156 clp->cl_minorversion ? 'Y' : 'N'); in nfsd4_cltrack_client_has_session()
1272 nfsd4_cltrack_upcall_lock(struct nfs4_client *clp) in nfsd4_cltrack_upcall_lock() argument
1274 wait_on_bit_lock(&clp->cl_flags, NFSD4_CLIENT_UPCALL_LOCK, in nfsd4_cltrack_upcall_lock()
1279 nfsd4_cltrack_upcall_unlock(struct nfs4_client *clp) in nfsd4_cltrack_upcall_unlock() argument
1282 clear_bit(NFSD4_CLIENT_UPCALL_LOCK, &clp->cl_flags); in nfsd4_cltrack_upcall_unlock()
1284 wake_up_bit(&clp->cl_flags, NFSD4_CLIENT_UPCALL_LOCK); in nfsd4_cltrack_upcall_unlock()
1288 nfsd4_umh_cltrack_create(struct nfs4_client *clp) in nfsd4_umh_cltrack_create() argument
1291 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_umh_cltrack_create()
1305 if (clp->cl_minorversion == 0 && in nfsd4_umh_cltrack_create()
1306 test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_umh_cltrack_create()
1309 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len); in nfsd4_umh_cltrack_create()
1315 has_session = nfsd4_cltrack_client_has_session(clp); in nfsd4_umh_cltrack_create()
1318 nfsd4_cltrack_upcall_lock(clp); in nfsd4_umh_cltrack_create()
1320 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_umh_cltrack_create()
1321 nfsd4_cltrack_upcall_unlock(clp); in nfsd4_umh_cltrack_create()
1329 nfsd4_umh_cltrack_remove(struct nfs4_client *clp) in nfsd4_umh_cltrack_remove() argument
1333 if (!test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_umh_cltrack_remove()
1336 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len); in nfsd4_umh_cltrack_remove()
1342 nfsd4_cltrack_upcall_lock(clp); in nfsd4_umh_cltrack_remove()
1343 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags) && in nfsd4_umh_cltrack_remove()
1345 clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_umh_cltrack_remove()
1346 nfsd4_cltrack_upcall_unlock(clp); in nfsd4_umh_cltrack_remove()
1352 nfsd4_umh_cltrack_check(struct nfs4_client *clp) in nfsd4_umh_cltrack_check() argument
1357 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) in nfsd4_umh_cltrack_check()
1360 hexid = bin_to_hex_dup(clp->cl_name.data, clp->cl_name.len); in nfsd4_umh_cltrack_check()
1366 has_session = nfsd4_cltrack_client_has_session(clp); in nfsd4_umh_cltrack_check()
1367 legacy = nfsd4_cltrack_legacy_recdir(&clp->cl_name); in nfsd4_umh_cltrack_check()
1369 nfsd4_cltrack_upcall_lock(clp); in nfsd4_umh_cltrack_check()
1370 if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) { in nfsd4_umh_cltrack_check()
1375 set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); in nfsd4_umh_cltrack_check()
1377 nfsd4_cltrack_upcall_unlock(clp); in nfsd4_umh_cltrack_check()
1467 nfsd4_client_record_create(struct nfs4_client *clp) in nfsd4_client_record_create() argument
1469 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_client_record_create()
1472 nn->client_tracking_ops->create(clp); in nfsd4_client_record_create()
1476 nfsd4_client_record_remove(struct nfs4_client *clp) in nfsd4_client_record_remove() argument
1478 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_client_record_remove()
1481 nn->client_tracking_ops->remove(clp); in nfsd4_client_record_remove()
1485 nfsd4_client_record_check(struct nfs4_client *clp) in nfsd4_client_record_check() argument
1487 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_client_record_check()
1490 return nn->client_tracking_ops->check(clp); in nfsd4_client_record_check()