/kernel/linux/linux-6.6/fs/dlm/ |
H A D | recoverd.c | 31 static int enable_locking(struct dlm_ls *ls, uint64_t seq) in enable_locking() argument 35 down_write(&ls->ls_recv_active); in enable_locking() 37 spin_lock(&ls->ls_recover_lock); in enable_locking() 38 if (ls->ls_recover_seq == seq) { in enable_locking() 39 set_bit(LSFL_RUNNING, &ls->ls_flags); in enable_locking() 41 up_write(&ls->ls_in_recovery); in enable_locking() 42 clear_bit(LSFL_RECOVER_LOCK, &ls->ls_flags); in enable_locking() 45 spin_unlock(&ls->ls_recover_lock); in enable_locking() 47 up_write(&ls->ls_recv_active); in enable_locking() 51 static int ls_recover(struct dlm_ls *ls, struc argument 257 do_ls_recovery(struct dlm_ls *ls) do_ls_recovery() argument 302 struct dlm_ls *ls; dlm_recoverd() local 350 dlm_recoverd_start(struct dlm_ls *ls) dlm_recoverd_start() argument 363 dlm_recoverd_stop(struct dlm_ls *ls) dlm_recoverd_stop() argument 368 dlm_recoverd_suspend(struct dlm_ls *ls) dlm_recoverd_suspend() argument 374 dlm_recoverd_resume(struct dlm_ls *ls) dlm_recoverd_resume() argument [all...] |
H A D | lockspace.c | 35 static ssize_t dlm_control_store(struct dlm_ls *ls, const char *buf, size_t len) in dlm_control_store() argument 43 ls = dlm_find_lockspace_local(ls->ls_local_handle); in dlm_control_store() 44 if (!ls) in dlm_control_store() 49 dlm_ls_stop(ls); in dlm_control_store() 52 dlm_ls_start(ls); in dlm_control_store() 57 dlm_put_lockspace(ls); in dlm_control_store() 61 static ssize_t dlm_event_store(struct dlm_ls *ls, const char *buf, size_t len) in dlm_event_store() argument 63 int rc = kstrtoint(buf, 0, &ls->ls_uevent_result); in dlm_event_store() 67 set_bit(LSFL_UEVENT_WAIT, &ls in dlm_event_store() 72 dlm_id_show(struct dlm_ls *ls, char *buf) dlm_id_show() argument 77 dlm_id_store(struct dlm_ls *ls, const char *buf, size_t len) dlm_id_store() argument 86 dlm_nodir_show(struct dlm_ls *ls, char *buf) dlm_nodir_show() argument 91 dlm_nodir_store(struct dlm_ls *ls, const char *buf, size_t len) dlm_nodir_store() argument 103 dlm_recover_status_show(struct dlm_ls *ls, char *buf) dlm_recover_status_show() argument 109 dlm_recover_nodeid_show(struct dlm_ls *ls, char *buf) dlm_recover_nodeid_show() argument 166 struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj); dlm_attr_show() local 174 struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj); dlm_attr_store() local 181 struct dlm_ls *ls = container_of(k, struct dlm_ls, ls_kobj); lockspace_kobj_release() local 198 do_uevent(struct dlm_ls *ls, int in) do_uevent() argument 220 const struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj); dlm_uevent() local 252 struct dlm_ls *ls; find_ls_to_scan() local 268 struct dlm_ls *ls; dlm_scand() local 307 struct dlm_ls *ls; dlm_find_lockspace_global() local 325 struct dlm_ls *ls; dlm_find_lockspace_local() local 342 struct dlm_ls *ls; dlm_find_lockspace_device() local 357 dlm_put_lockspace(struct dlm_ls *ls) dlm_put_lockspace() argument 363 remove_lockspace(struct dlm_ls *ls) remove_lockspace() argument 409 struct dlm_ls *ls; new_lockspace() local 755 lockspace_busy(struct dlm_ls *ls, int force) lockspace_busy() argument 771 release_lockspace(struct dlm_ls *ls, int force) release_lockspace() argument 895 struct dlm_ls *ls; dlm_release_lockspace() local 916 struct dlm_ls *ls; dlm_stop_lockspaces() local [all...] |
H A D | recover.c | 42 int dlm_wait_function(struct dlm_ls *ls, int (*testfn) (struct dlm_ls *ls)) in dlm_wait_function() argument 48 rv = wait_event_timeout(ls->ls_wait_general, in dlm_wait_function() 49 testfn(ls) || dlm_recovery_stopped(ls), in dlm_wait_function() 53 if (test_bit(LSFL_RCOM_WAIT, &ls->ls_flags)) { in dlm_wait_function() 54 log_debug(ls, "dlm_wait_function timed out"); in dlm_wait_function() 59 if (dlm_recovery_stopped(ls)) { in dlm_wait_function() 60 log_debug(ls, "dlm_wait_function aborted"); in dlm_wait_function() 74 uint32_t dlm_recover_status(struct dlm_ls *ls) in dlm_recover_status() argument 83 _set_recover_status(struct dlm_ls *ls, uint32_t status) _set_recover_status() argument 88 dlm_set_recover_status(struct dlm_ls *ls, uint32_t status) dlm_set_recover_status() argument 95 wait_status_all(struct dlm_ls *ls, uint32_t wait_status, int save_slots, uint64_t seq) wait_status_all() argument 128 wait_status_low(struct dlm_ls *ls, uint32_t wait_status, uint32_t status_flags, uint64_t seq) wait_status_low() argument 154 wait_status(struct dlm_ls *ls, uint32_t status, uint64_t seq) wait_status() argument 169 dlm_recover_members_wait(struct dlm_ls *ls, uint64_t seq) dlm_recover_members_wait() argument 213 dlm_recover_directory_wait(struct dlm_ls *ls, uint64_t seq) dlm_recover_directory_wait() argument 218 dlm_recover_locks_wait(struct dlm_ls *ls, uint64_t seq) dlm_recover_locks_wait() argument 223 dlm_recover_done_wait(struct dlm_ls *ls, uint64_t seq) dlm_recover_done_wait() argument 240 recover_list_empty(struct dlm_ls *ls) recover_list_empty() argument 253 struct dlm_ls *ls = r->res_ls; recover_list_add() local 266 struct dlm_ls *ls = r->res_ls; recover_list_del() local 276 recover_list_clear(struct dlm_ls *ls) recover_list_clear() argument 296 recover_idr_empty(struct dlm_ls *ls) recover_idr_empty() argument 310 struct dlm_ls *ls = r->res_ls; recover_idr_add() local 335 struct dlm_ls *ls = r->res_ls; recover_idr_del() local 346 recover_idr_find(struct dlm_ls *ls, uint64_t id) recover_idr_find() argument 356 recover_idr_clear(struct dlm_ls *ls) recover_idr_clear() argument 447 struct dlm_ls *ls = r->res_ls; recover_master() local 524 dlm_recover_masters(struct dlm_ls *ls, uint64_t seq) dlm_recover_masters() argument 567 dlm_recover_master_reply(struct dlm_ls *ls, const struct dlm_rcom *rc) dlm_recover_master_reply() argument 661 dlm_recover_locks(struct dlm_ls *ls, uint64_t seq) dlm_recover_locks() argument 822 struct dlm_ls *ls = r->res_ls; recover_conversion() local 859 dlm_recover_rsbs(struct dlm_ls *ls) dlm_recover_rsbs() argument 894 dlm_create_root_list(struct dlm_ls *ls) dlm_create_root_list() argument 924 dlm_release_root_list(struct dlm_ls *ls) dlm_release_root_list() argument 936 dlm_clear_toss(struct dlm_ls *ls) dlm_clear_toss() argument [all...] |
H A D | member.c | 28 void dlm_slot_save(struct dlm_ls *ls, struct dlm_rcom *rc, in dlm_slot_save() argument 40 void dlm_slots_copy_out(struct dlm_ls *ls, struct dlm_rcom *rc) in dlm_slots_copy_out() argument 50 for (i = 0; i < ls->ls_slots_size; i++) { in dlm_slots_copy_out() 51 slot = &ls->ls_slots[i]; in dlm_slots_copy_out() 62 static void log_slots(struct dlm_ls *ls, uint32_t gen, int num_slots, in log_slots() argument 94 log_rinfo(ls, "generation %u slots %d%s", gen, num_slots, line); in log_slots() 97 int dlm_slots_copy_in(struct dlm_ls *ls) in dlm_slots_copy_in() argument 100 struct dlm_rcom *rc = ls->ls_recover_buf; in dlm_slots_copy_in() 111 if (gen <= ls->ls_generation) { in dlm_slots_copy_in() 112 log_error(ls, "dlm_slots_copy_i in dlm_slots_copy_in() 160 dlm_slots_assign(struct dlm_ls *ls, int *num_slots, int *slots_size, struct dlm_slot **slots_out, uint32_t *gen_out) dlm_slots_assign() argument 286 add_ordered_member(struct dlm_ls *ls, struct dlm_member *new) add_ordered_member() argument 325 dlm_add_member(struct dlm_ls *ls, struct dlm_config_node *node) dlm_add_member() argument 360 dlm_is_member(struct dlm_ls *ls, int nodeid) dlm_is_member() argument 367 dlm_is_removed(struct dlm_ls *ls, int nodeid) dlm_is_removed() argument 396 dlm_clear_members(struct dlm_ls *ls) dlm_clear_members() argument 402 dlm_clear_members_gone(struct dlm_ls *ls) dlm_clear_members_gone() argument 407 make_member_array(struct dlm_ls *ls) make_member_array() argument 452 ping_members(struct dlm_ls *ls, uint64_t seq) ping_members() argument 472 dlm_lsop_recover_prep(struct dlm_ls *ls) dlm_lsop_recover_prep() argument 479 dlm_lsop_recover_slot(struct dlm_ls *ls, struct dlm_member *memb) dlm_lsop_recover_slot() argument 505 dlm_lsop_recover_done(struct dlm_ls *ls) dlm_lsop_recover_done() argument 548 dlm_recover_members(struct dlm_ls *ls, struct dlm_recover *rv, int *neg_out) dlm_recover_members() argument 618 dlm_ls_stop(struct dlm_ls *ls) dlm_ls_stop() argument 703 dlm_ls_start(struct dlm_ls *ls) dlm_ls_start() argument [all...] |
H A D | rcom.c | 25 static int rcom_response(struct dlm_ls *ls) in rcom_response() argument 27 return test_bit(LSFL_RCOM_READY, &ls->ls_flags); in rcom_response() 30 static void _create_rcom(struct dlm_ls *ls, int to_nodeid, int type, int len, in _create_rcom() argument 39 rc->rc_header.u.h_lockspace = cpu_to_le32(ls->ls_global_id); in _create_rcom() 50 static int create_rcom(struct dlm_ls *ls, int to_nodeid, int type, int len, in create_rcom() argument 65 _create_rcom(ls, to_nodeid, type, len, rc_ret, mb, mb_len, seq); in create_rcom() 70 static int create_rcom_stateless(struct dlm_ls *ls, int to_nodeid, int type, in create_rcom_stateless() argument 86 _create_rcom(ls, to_nodeid, type, len, rc_ret, mb, mb_len, seq); in create_rcom_stateless() 102 static void set_rcom_status(struct dlm_ls *ls, struct rcom_status *rs, in set_rcom_status() argument 112 static void set_rcom_config(struct dlm_ls *ls, struc argument 123 check_rcom_config(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid) check_rcom_config() argument 145 allow_sync_reply(struct dlm_ls *ls, __le64 *new_seq) allow_sync_reply() argument 153 disallow_sync_reply(struct dlm_ls *ls) disallow_sync_reply() argument 172 dlm_rcom_status(struct dlm_ls *ls, int nodeid, uint32_t status_flags, uint64_t seq) dlm_rcom_status() argument 224 receive_rcom_status(struct dlm_ls *ls, const struct dlm_rcom *rc_in, uint64_t seq) receive_rcom_status() argument 287 receive_sync_reply(struct dlm_ls *ls, const struct dlm_rcom *rc_in) receive_sync_reply() argument 308 dlm_rcom_names(struct dlm_ls *ls, int nodeid, char *last_name, int last_len, uint64_t seq) dlm_rcom_names() argument 337 receive_rcom_names(struct dlm_ls *ls, const struct dlm_rcom *rc_in, uint64_t seq) receive_rcom_names() argument 365 struct dlm_ls *ls = r->res_ls; dlm_send_rcom_lookup() local 380 receive_rcom_lookup(struct dlm_ls *ls, const struct dlm_rcom *rc_in, uint64_t seq) receive_rcom_lookup() argument 412 receive_rcom_lookup_reply(struct dlm_ls *ls, const struct dlm_rcom *rc_in) receive_rcom_lookup_reply() argument 450 struct dlm_ls *ls = r->res_ls; dlm_send_rcom_lock() local 474 receive_rcom_lock(struct dlm_ls *ls, const struct dlm_rcom *rc_in, uint64_t seq) receive_rcom_lock() argument 583 dlm_receive_rcom(struct dlm_ls *ls, const struct dlm_rcom *rc, int nodeid) dlm_receive_rcom() argument [all...] |
H A D | requestqueue.c | 33 void dlm_add_requestqueue(struct dlm_ls *ls, int nodeid, in dlm_add_requestqueue() argument 46 e->recover_seq = ls->ls_recover_seq & 0xFFFFFFFF; in dlm_add_requestqueue() 51 atomic_inc(&ls->ls_requestqueue_cnt); in dlm_add_requestqueue() 52 mutex_lock(&ls->ls_requestqueue_mutex); in dlm_add_requestqueue() 53 list_add_tail(&e->list, &ls->ls_requestqueue); in dlm_add_requestqueue() 54 mutex_unlock(&ls->ls_requestqueue_mutex); in dlm_add_requestqueue() 68 int dlm_process_requestqueue(struct dlm_ls *ls) in dlm_process_requestqueue() argument 74 mutex_lock(&ls->ls_requestqueue_mutex); in dlm_process_requestqueue() 77 if (list_empty(&ls->ls_requestqueue)) { in dlm_process_requestqueue() 78 mutex_unlock(&ls in dlm_process_requestqueue() 125 dlm_wait_requestqueue(struct dlm_ls *ls) dlm_wait_requestqueue() argument 131 purge_request(struct dlm_ls *ls, struct dlm_message *ms, int nodeid) purge_request() argument 156 dlm_purge_requestqueue(struct dlm_ls *ls) dlm_purge_requestqueue() argument [all...] |
H A D | dir.c | 33 int dlm_hash2nodeid(struct dlm_ls *ls, uint32_t hash) in dlm_hash2nodeid() argument 37 if (ls->ls_num_nodes == 1) in dlm_hash2nodeid() 40 node = (hash >> 16) % ls->ls_total_weight; in dlm_hash2nodeid() 41 return ls->ls_node_array[node]; in dlm_hash2nodeid() 50 void dlm_recover_dir_nodeid(struct dlm_ls *ls) in dlm_recover_dir_nodeid() argument 54 down_read(&ls->ls_root_sem); in dlm_recover_dir_nodeid() 55 list_for_each_entry(r, &ls->ls_root_list, res_root_list) { in dlm_recover_dir_nodeid() 56 r->res_dir_nodeid = dlm_hash2nodeid(ls, r->res_hash); in dlm_recover_dir_nodeid() 58 up_read(&ls->ls_root_sem); in dlm_recover_dir_nodeid() 61 int dlm_recover_directory(struct dlm_ls *ls, uint64_ argument 199 find_rsb_root(struct dlm_ls *ls, const char *name, int len) find_rsb_root() argument 236 dlm_copy_master_names(struct dlm_ls *ls, const char *inbuf, int inlen, char *outbuf, int outlen, int nodeid) dlm_copy_master_names() argument [all...] |
H A D | lock.c | 16 request_lock(ls, lkb) 17 convert_lock(ls, lkb) 18 unlock_lock(ls, lkb) 19 cancel_lock(ls, lkb) 91 static void do_purge(struct dlm_ls *ls, int nodeid, int pid); 204 static inline void dlm_lock_recovery(struct dlm_ls *ls) in dlm_lock_recovery() argument 206 down_read(&ls->ls_in_recovery); in dlm_lock_recovery() 209 void dlm_unlock_recovery(struct dlm_ls *ls) in dlm_unlock_recovery() argument 211 up_read(&ls->ls_in_recovery); in dlm_unlock_recovery() 214 int dlm_lock_recovery_try(struct dlm_ls *ls) in dlm_lock_recovery_try() argument 341 struct dlm_ls *ls = r->res_ls; put_rsb() local 356 pre_rsb_struct(struct dlm_ls *ls) pre_rsb_struct() argument 392 get_rsb_struct(struct dlm_ls *ls, const void *name, int len, struct dlm_rsb **r_ret) get_rsb_struct() argument 538 find_rsb_dir(struct dlm_ls *ls, const void *name, int len, uint32_t hash, uint32_t b, int dir_nodeid, int from_nodeid, unsigned int flags, struct dlm_rsb **r_ret) find_rsb_dir() argument 716 find_rsb_nodir(struct dlm_ls *ls, const void *name, int len, uint32_t hash, uint32_t b, int dir_nodeid, int from_nodeid, unsigned int flags, struct dlm_rsb **r_ret) find_rsb_nodir() argument 810 find_rsb(struct dlm_ls *ls, const void *name, int len, int from_nodeid, unsigned int flags, struct dlm_rsb **r_ret) find_rsb() argument 836 validate_master_nodeid(struct dlm_ls *ls, struct dlm_rsb *r, int from_nodeid) validate_master_nodeid() argument 876 __dlm_master_lookup(struct dlm_ls *ls, struct dlm_rsb *r, int our_nodeid, int from_nodeid, bool toss_list, unsigned int flags, int *r_nodeid, int *result) __dlm_master_lookup() argument 987 dlm_master_lookup(struct dlm_ls *ls, int from_nodeid, const char *name, int len, unsigned int flags, int *r_nodeid, int *result) dlm_master_lookup() argument 1092 dlm_dump_rsb_hash(struct dlm_ls *ls, uint32_t hash) dlm_dump_rsb_hash() argument 1109 dlm_dump_rsb_name(struct dlm_ls *ls, const char *name, int len) dlm_dump_rsb_name() argument 1135 struct dlm_ls *ls = r->res_ls; toss_rsb() local 1190 _create_lkb(struct dlm_ls *ls, struct dlm_lkb **lkb_ret, int start, int end) _create_lkb() argument 1229 create_lkb(struct dlm_ls *ls, struct dlm_lkb **lkb_ret) create_lkb() argument 1234 find_lkb(struct dlm_ls *ls, uint32_t lkid, struct dlm_lkb **lkb_ret) find_lkb() argument 1261 __put_lkb(struct dlm_ls *ls, struct dlm_lkb *lkb) __put_lkb() argument 1285 struct dlm_ls *ls; dlm_put_lkb() local 1408 struct dlm_ls *ls = lkb->lkb_resource->res_ls; add_to_waiters() local 1464 struct dlm_ls *ls = lkb->lkb_resource->res_ls; _remove_from_waiters() local 1548 struct dlm_ls *ls = lkb->lkb_resource->res_ls; remove_from_waiters() local 1563 struct dlm_ls *ls = lkb->lkb_resource->res_ls; remove_from_waiters_ms() local 1574 shrink_bucket(struct dlm_ls *ls, int b) shrink_bucket() argument 1708 dlm_scan_rsbs(struct dlm_ls *ls) dlm_scan_rsbs() argument 2659 validate_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_args *args) validate_lock_args() argument 2726 struct dlm_ls *ls = lkb->lkb_resource->res_ls; validate_unlock_args() local 3107 request_lock(struct dlm_ls *ls, struct dlm_lkb *lkb, const void *name, int len, struct dlm_args *args) request_lock() argument 3134 convert_lock(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_args *args) convert_lock() argument 3156 unlock_lock(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_args *args) unlock_lock() argument 3178 cancel_lock(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_args *args) cancel_lock() argument 3215 struct dlm_ls *ls; dlm_lock() local 3267 struct dlm_ls *ls; dlm_unlock() local 3329 _create_message(struct dlm_ls *ls, int mb_len, int to_nodeid, int mstype, struct dlm_message **ms_ret, struct dlm_mhandle **mh_ret, gfp_t allocation) _create_message() argument 3644 send_lookup_reply(struct dlm_ls *ls, const struct dlm_message *ms_in, int ret_nodeid, int rv) send_lookup_reply() argument 3695 receive_lvb(struct dlm_ls *ls, struct dlm_lkb *lkb, const struct dlm_message *ms) receive_lvb() argument 3723 receive_request_args(struct dlm_ls *ls, struct dlm_lkb *lkb, const struct dlm_message *ms) receive_request_args() argument 3745 receive_convert_args(struct dlm_ls *ls, struct dlm_lkb *lkb, const struct dlm_message *ms) receive_convert_args() argument 3760 receive_unlock_args(struct dlm_ls *ls, struct dlm_lkb *lkb, const struct dlm_message *ms) receive_unlock_args() argument 3771 setup_local_lkb(struct dlm_ls *ls, const struct dlm_message *ms) setup_local_lkb() argument 3833 receive_request(struct dlm_ls *ls, const struct dlm_message *ms) receive_request() argument 3912 receive_convert(struct dlm_ls *ls, const struct dlm_message *ms) receive_convert() argument 3968 receive_unlock(struct dlm_ls *ls, const struct dlm_message *ms) receive_unlock() argument 4020 receive_cancel(struct dlm_ls *ls, const struct dlm_message *ms) receive_cancel() argument 4056 receive_grant(struct dlm_ls *ls, const struct dlm_message *ms) receive_grant() argument 4087 receive_bast(struct dlm_ls *ls, const struct dlm_message *ms) receive_bast() argument 4115 receive_lookup(struct dlm_ls *ls, const struct dlm_message *ms) receive_lookup() argument 4135 receive_remove(struct dlm_ls *ls, const struct dlm_message *ms) receive_remove() argument 4223 receive_purge(struct dlm_ls *ls, const struct dlm_message *ms) receive_purge() argument 4228 receive_request_reply(struct dlm_ls *ls, const struct dlm_message *ms) receive_request_reply() argument 4418 receive_convert_reply(struct dlm_ls *ls, const struct dlm_message *ms) receive_convert_reply() argument 4470 receive_unlock_reply(struct dlm_ls *ls, const struct dlm_message *ms) receive_unlock_reply() argument 4523 receive_cancel_reply(struct dlm_ls *ls, const struct dlm_message *ms) receive_cancel_reply() argument 4538 receive_lookup_reply(struct dlm_ls *ls, const struct dlm_message *ms) receive_lookup_reply() argument 4618 _receive_message(struct dlm_ls *ls, const struct dlm_message *ms, uint32_t saved_seq) _receive_message() argument 4754 dlm_receive_message(struct dlm_ls *ls, const struct dlm_message *ms, int nodeid) dlm_receive_message() argument 4777 dlm_receive_message_saved(struct dlm_ls *ls, const struct dlm_message *ms, uint32_t saved_seq) dlm_receive_message_saved() argument 4791 struct dlm_ls *ls; dlm_receive_buffer() local 4843 recover_convert_waiter(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_message *ms_local) recover_convert_waiter() argument 4870 waiter_needs_recovery(struct dlm_ls *ls, struct dlm_lkb *lkb, int dir_nodeid) waiter_needs_recovery() argument 4888 dlm_recover_waiters_pre(struct dlm_ls *ls) dlm_recover_waiters_pre() argument 4997 find_resend_waiter(struct dlm_ls *ls) find_resend_waiter() argument 5030 dlm_recover_waiters_post(struct dlm_ls *ls) dlm_recover_waiters_post() argument 5130 purge_mstcpy_list(struct dlm_ls *ls, struct dlm_rsb *r, struct list_head *list) purge_mstcpy_list() argument 5155 struct dlm_ls *ls = r->res_ls; dlm_purge_mstcpy_locks() local 5162 purge_dead_list(struct dlm_ls *ls, struct dlm_rsb *r, struct list_head *list, int nodeid_gone, unsigned int *count) purge_dead_list() argument 5197 dlm_recover_purge(struct dlm_ls *ls) dlm_recover_purge() argument 5239 find_grant_rsb(struct dlm_ls *ls, int bucket) find_grant_rsb() argument 5279 dlm_recover_grant(struct dlm_ls *ls) dlm_recover_grant() argument 5343 receive_rcom_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_rsb *r, const struct dlm_rcom *rc) receive_rcom_lock_args() argument 5394 dlm_recover_master_copy(struct dlm_ls *ls, const struct dlm_rcom *rc, __le32 *rl_remid, __le32 *rl_result) dlm_recover_master_copy() argument 5478 dlm_recover_process_copy(struct dlm_ls *ls, const struct dlm_rcom *rc, uint64_t seq) dlm_recover_process_copy() argument 5547 dlm_user_request(struct dlm_ls *ls, struct dlm_user_args *ua, int mode, uint32_t flags, void *name, unsigned int namelen) dlm_user_request() argument 5616 dlm_user_convert(struct dlm_ls *ls, struct dlm_user_args *ua_tmp, int mode, uint32_t flags, uint32_t lkid, char *lvb_in) dlm_user_convert() argument 5678 dlm_user_adopt_orphan(struct dlm_ls *ls, struct dlm_user_args *ua_tmp, int mode, uint32_t flags, void *name, unsigned int namelen, uint32_t *lkid) dlm_user_adopt_orphan() argument 5743 dlm_user_unlock(struct dlm_ls *ls, struct dlm_user_args *ua_tmp, uint32_t flags, uint32_t lkid, char *lvb_in) dlm_user_unlock() argument 5795 dlm_user_cancel(struct dlm_ls *ls, struct dlm_user_args *ua_tmp, uint32_t flags, uint32_t lkid) dlm_user_cancel() argument 5836 dlm_user_deadlock(struct dlm_ls *ls, uint32_t flags, uint32_t lkid) dlm_user_deadlock() argument 5890 orphan_proc_lock(struct dlm_ls *ls, struct dlm_lkb *lkb) orphan_proc_lock() argument 5913 unlock_proc_lock(struct dlm_ls *ls, struct dlm_lkb *lkb) unlock_proc_lock() argument 5931 del_proc_lock(struct dlm_ls *ls, struct dlm_user_proc *proc) del_proc_lock() argument 5962 dlm_clear_proc_locks(struct dlm_ls *ls, struct dlm_user_proc *proc) dlm_clear_proc_locks() argument 6003 purge_proc_locks(struct dlm_ls *ls, struct dlm_user_proc *proc) purge_proc_locks() argument 6044 do_purge(struct dlm_ls *ls, int nodeid, int pid) do_purge() argument 6059 send_purge(struct dlm_ls *ls, int nodeid, int pid) send_purge() argument 6075 dlm_user_purge(struct dlm_ls *ls, struct dlm_user_proc *proc, int nodeid, int pid) dlm_user_purge() argument 6094 dlm_debug_add_lkb(struct dlm_ls *ls, uint32_t lkb_id, char *name, int len, int lkb_nodeid, unsigned int lkb_dflags, int lkb_status) dlm_debug_add_lkb() argument 6139 dlm_debug_add_lkb_to_waiters(struct dlm_ls *ls, uint32_t lkb_id, int mstype, int to_nodeid) dlm_debug_add_lkb_to_waiters() argument [all...] |
H A D | ast.c | 42 struct dlm_ls *ls = lkb->lkb_resource->res_ls; in dlm_enqueue_lkb_callback() local 53 log_debug(ls, "skip %x bast mode %d for cast mode %d", in dlm_enqueue_lkb_callback() 71 log_debug(ls, "skip %x add bast mode %d for bast mode %d", in dlm_enqueue_lkb_callback() 122 struct dlm_ls *ls = lkb->lkb_resource->res_ls; in dlm_add_cb() local 136 spin_lock(&ls->ls_cb_lock); in dlm_add_cb() 137 if (test_bit(LSFL_CB_DELAY, &ls->ls_flags)) { in dlm_add_cb() 138 list_add(&lkb->lkb_cb_list, &ls->ls_cb_delay); in dlm_add_cb() 140 queue_work(ls->ls_callback_wq, &lkb->lkb_cb_work); in dlm_add_cb() 142 spin_unlock(&ls->ls_cb_lock); in dlm_add_cb() 159 struct dlm_ls *ls in dlm_callback_work() local 208 dlm_callback_start(struct dlm_ls *ls) dlm_callback_start() argument 219 dlm_callback_stop(struct dlm_ls *ls) dlm_callback_stop() argument 225 dlm_callback_suspend(struct dlm_ls *ls) dlm_callback_suspend() argument 238 dlm_callback_resume(struct dlm_ls *ls) dlm_callback_resume() argument [all...] |
H A D | recover.h | 15 int dlm_wait_function(struct dlm_ls *ls, int (*testfn) (struct dlm_ls *ls)); 16 uint32_t dlm_recover_status(struct dlm_ls *ls); 17 void dlm_set_recover_status(struct dlm_ls *ls, uint32_t status); 18 int dlm_recover_members_wait(struct dlm_ls *ls, uint64_t seq); 19 int dlm_recover_directory_wait(struct dlm_ls *ls, uint64_t seq); 20 int dlm_recover_locks_wait(struct dlm_ls *ls, uint64_t seq); 21 int dlm_recover_done_wait(struct dlm_ls *ls, uint64_t seq); 22 int dlm_recover_masters(struct dlm_ls *ls, uint64_t seq); 23 int dlm_recover_master_reply(struct dlm_ls *ls, cons [all...] |
H A D | lock.h | 15 void dlm_dump_rsb_name(struct dlm_ls *ls, const char *name, int len); 17 void dlm_receive_message_saved(struct dlm_ls *ls, const struct dlm_message *ms, 24 void dlm_scan_rsbs(struct dlm_ls *ls); 25 int dlm_lock_recovery_try(struct dlm_ls *ls); 26 void dlm_unlock_recovery(struct dlm_ls *ls); 28 int dlm_master_lookup(struct dlm_ls *ls, int from_nodeid, const char *name, 34 void dlm_recover_purge(struct dlm_ls *ls); 36 void dlm_recover_grant(struct dlm_ls *ls); 37 int dlm_recover_waiters_post(struct dlm_ls *ls); 38 void dlm_recover_waiters_pre(struct dlm_ls *ls); [all...] |
/kernel/linux/linux-5.10/fs/dlm/ |
H A D | recoverd.c | 31 static int enable_locking(struct dlm_ls *ls, uint64_t seq) in enable_locking() argument 35 down_write(&ls->ls_recv_active); in enable_locking() 37 spin_lock(&ls->ls_recover_lock); in enable_locking() 38 if (ls->ls_recover_seq == seq) { in enable_locking() 39 set_bit(LSFL_RUNNING, &ls->ls_flags); in enable_locking() 41 up_write(&ls->ls_in_recovery); in enable_locking() 42 clear_bit(LSFL_RECOVER_LOCK, &ls->ls_flags); in enable_locking() 45 spin_unlock(&ls->ls_recover_lock); in enable_locking() 47 up_write(&ls->ls_recv_active); in enable_locking() 51 static int ls_recover(struct dlm_ls *ls, struc argument 256 do_ls_recovery(struct dlm_ls *ls) do_ls_recovery() argument 276 struct dlm_ls *ls; dlm_recoverd() local 324 dlm_recoverd_start(struct dlm_ls *ls) dlm_recoverd_start() argument 337 dlm_recoverd_stop(struct dlm_ls *ls) dlm_recoverd_stop() argument 342 dlm_recoverd_suspend(struct dlm_ls *ls) dlm_recoverd_suspend() argument 348 dlm_recoverd_resume(struct dlm_ls *ls) dlm_recoverd_resume() argument [all...] |
H A D | lockspace.c | 35 static ssize_t dlm_control_store(struct dlm_ls *ls, const char *buf, size_t len) in dlm_control_store() argument 43 ls = dlm_find_lockspace_local(ls->ls_local_handle); in dlm_control_store() 44 if (!ls) in dlm_control_store() 49 dlm_ls_stop(ls); in dlm_control_store() 52 dlm_ls_start(ls); in dlm_control_store() 57 dlm_put_lockspace(ls); in dlm_control_store() 61 static ssize_t dlm_event_store(struct dlm_ls *ls, const char *buf, size_t len) in dlm_event_store() argument 63 int rc = kstrtoint(buf, 0, &ls->ls_uevent_result); in dlm_event_store() 67 set_bit(LSFL_UEVENT_WAIT, &ls in dlm_event_store() 72 dlm_id_show(struct dlm_ls *ls, char *buf) dlm_id_show() argument 77 dlm_id_store(struct dlm_ls *ls, const char *buf, size_t len) dlm_id_store() argument 86 dlm_nodir_show(struct dlm_ls *ls, char *buf) dlm_nodir_show() argument 91 dlm_nodir_store(struct dlm_ls *ls, const char *buf, size_t len) dlm_nodir_store() argument 103 dlm_recover_status_show(struct dlm_ls *ls, char *buf) dlm_recover_status_show() argument 109 dlm_recover_nodeid_show(struct dlm_ls *ls, char *buf) dlm_recover_nodeid_show() argument 166 struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj); dlm_attr_show() local 174 struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj); dlm_attr_store() local 181 struct dlm_ls *ls = container_of(k, struct dlm_ls, ls_kobj); lockspace_kobj_release() local 198 do_uevent(struct dlm_ls *ls, int in) do_uevent() argument 221 struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj); dlm_uevent() local 253 struct dlm_ls *ls; find_ls_to_scan() local 269 struct dlm_ls *ls; dlm_scand() local 310 struct dlm_ls *ls; dlm_find_lockspace_global() local 328 struct dlm_ls *ls; dlm_find_lockspace_local() local 345 struct dlm_ls *ls; dlm_find_lockspace_device() local 360 dlm_put_lockspace(struct dlm_ls *ls) dlm_put_lockspace() argument 367 remove_lockspace(struct dlm_ls *ls) remove_lockspace() argument 418 struct dlm_ls *ls; new_lockspace() local 739 lockspace_busy(struct dlm_ls *ls, int force) lockspace_busy() argument 755 release_lockspace(struct dlm_ls *ls, int force) release_lockspace() argument 870 struct dlm_ls *ls; dlm_release_lockspace() local 891 struct dlm_ls *ls; dlm_stop_lockspaces() local [all...] |
H A D | recover.c | 42 int dlm_wait_function(struct dlm_ls *ls, int (*testfn) (struct dlm_ls *ls)) in dlm_wait_function() argument 48 rv = wait_event_timeout(ls->ls_wait_general, in dlm_wait_function() 49 testfn(ls) || dlm_recovery_stopped(ls), in dlm_wait_function() 53 if (test_bit(LSFL_RCOM_WAIT, &ls->ls_flags)) { in dlm_wait_function() 54 log_debug(ls, "dlm_wait_function timed out"); in dlm_wait_function() 59 if (dlm_recovery_stopped(ls)) { in dlm_wait_function() 60 log_debug(ls, "dlm_wait_function aborted"); in dlm_wait_function() 74 uint32_t dlm_recover_status(struct dlm_ls *ls) in dlm_recover_status() argument 83 _set_recover_status(struct dlm_ls *ls, uint32_t status) _set_recover_status() argument 88 dlm_set_recover_status(struct dlm_ls *ls, uint32_t status) dlm_set_recover_status() argument 95 wait_status_all(struct dlm_ls *ls, uint32_t wait_status, int save_slots) wait_status_all() argument 128 wait_status_low(struct dlm_ls *ls, uint32_t wait_status, uint32_t status_flags) wait_status_low() argument 154 wait_status(struct dlm_ls *ls, uint32_t status) wait_status() argument 169 dlm_recover_members_wait(struct dlm_ls *ls) dlm_recover_members_wait() argument 212 dlm_recover_directory_wait(struct dlm_ls *ls) dlm_recover_directory_wait() argument 217 dlm_recover_locks_wait(struct dlm_ls *ls) dlm_recover_locks_wait() argument 222 dlm_recover_done_wait(struct dlm_ls *ls) dlm_recover_done_wait() argument 239 recover_list_empty(struct dlm_ls *ls) recover_list_empty() argument 252 struct dlm_ls *ls = r->res_ls; recover_list_add() local 265 struct dlm_ls *ls = r->res_ls; recover_list_del() local 275 recover_list_clear(struct dlm_ls *ls) recover_list_clear() argument 295 recover_idr_empty(struct dlm_ls *ls) recover_idr_empty() argument 309 struct dlm_ls *ls = r->res_ls; recover_idr_add() local 334 struct dlm_ls *ls = r->res_ls; recover_idr_del() local 345 recover_idr_find(struct dlm_ls *ls, uint64_t id) recover_idr_find() argument 355 recover_idr_clear(struct dlm_ls *ls) recover_idr_clear() argument 446 struct dlm_ls *ls = r->res_ls; recover_master() local 523 dlm_recover_masters(struct dlm_ls *ls) dlm_recover_masters() argument 566 dlm_recover_master_reply(struct dlm_ls *ls, struct dlm_rcom *rc) dlm_recover_master_reply() argument 659 dlm_recover_locks(struct dlm_ls *ls) dlm_recover_locks() argument 820 struct dlm_ls *ls = r->res_ls; recover_conversion() local 857 dlm_recover_rsbs(struct dlm_ls *ls) dlm_recover_rsbs() argument 892 dlm_create_root_list(struct dlm_ls *ls) dlm_create_root_list() argument 922 dlm_release_root_list(struct dlm_ls *ls) dlm_release_root_list() argument 934 dlm_clear_toss(struct dlm_ls *ls) dlm_clear_toss() argument [all...] |
H A D | member.c | 27 void dlm_slot_save(struct dlm_ls *ls, struct dlm_rcom *rc, in dlm_slot_save() argument 39 void dlm_slots_copy_out(struct dlm_ls *ls, struct dlm_rcom *rc) in dlm_slots_copy_out() argument 49 for (i = 0; i < ls->ls_slots_size; i++) { in dlm_slots_copy_out() 50 slot = &ls->ls_slots[i]; in dlm_slots_copy_out() 61 static void log_slots(struct dlm_ls *ls, uint32_t gen, int num_slots, in log_slots() argument 93 log_rinfo(ls, "generation %u slots %d%s", gen, num_slots, line); in log_slots() 96 int dlm_slots_copy_in(struct dlm_ls *ls) in dlm_slots_copy_in() argument 99 struct dlm_rcom *rc = ls->ls_recover_buf; in dlm_slots_copy_in() 110 if (gen <= ls->ls_generation) { in dlm_slots_copy_in() 111 log_error(ls, "dlm_slots_copy_i in dlm_slots_copy_in() 164 dlm_slots_assign(struct dlm_ls *ls, int *num_slots, int *slots_size, struct dlm_slot **slots_out, uint32_t *gen_out) dlm_slots_assign() argument 290 add_ordered_member(struct dlm_ls *ls, struct dlm_member *new) add_ordered_member() argument 314 dlm_add_member(struct dlm_ls *ls, struct dlm_config_node *node) dlm_add_member() argument 348 dlm_is_member(struct dlm_ls *ls, int nodeid) dlm_is_member() argument 355 dlm_is_removed(struct dlm_ls *ls, int nodeid) dlm_is_removed() argument 373 dlm_clear_members(struct dlm_ls *ls) dlm_clear_members() argument 379 dlm_clear_members_gone(struct dlm_ls *ls) dlm_clear_members_gone() argument 384 make_member_array(struct dlm_ls *ls) make_member_array() argument 429 ping_members(struct dlm_ls *ls) ping_members() argument 448 dlm_lsop_recover_prep(struct dlm_ls *ls) dlm_lsop_recover_prep() argument 455 dlm_lsop_recover_slot(struct dlm_ls *ls, struct dlm_member *memb) dlm_lsop_recover_slot() argument 481 dlm_lsop_recover_done(struct dlm_ls *ls) dlm_lsop_recover_done() argument 524 dlm_recover_members(struct dlm_ls *ls, struct dlm_recover *rv, int *neg_out) dlm_recover_members() argument 593 dlm_ls_stop(struct dlm_ls *ls) dlm_ls_stop() argument 669 dlm_ls_start(struct dlm_ls *ls) dlm_ls_start() argument [all...] |
H A D | rcom.c | 25 static int rcom_response(struct dlm_ls *ls) in rcom_response() argument 27 return test_bit(LSFL_RCOM_READY, &ls->ls_flags); in rcom_response() 30 static int create_rcom(struct dlm_ls *ls, int to_nodeid, int type, int len, in create_rcom() argument 49 rc->rc_header.h_lockspace = ls->ls_global_id; in create_rcom() 56 spin_lock(&ls->ls_recover_lock); in create_rcom() 57 rc->rc_seq = ls->ls_recover_seq; in create_rcom() 58 spin_unlock(&ls->ls_recover_lock); in create_rcom() 65 static void send_rcom(struct dlm_ls *ls, struct dlm_mhandle *mh, in send_rcom() argument 72 static void set_rcom_status(struct dlm_ls *ls, struct rcom_status *rs, in set_rcom_status() argument 82 static void set_rcom_config(struct dlm_ls *ls, struc argument 93 check_rcom_config(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid) check_rcom_config() argument 115 allow_sync_reply(struct dlm_ls *ls, uint64_t *new_seq) allow_sync_reply() argument 123 disallow_sync_reply(struct dlm_ls *ls) disallow_sync_reply() argument 142 dlm_rcom_status(struct dlm_ls *ls, int nodeid, uint32_t status_flags) dlm_rcom_status() argument 192 receive_rcom_status(struct dlm_ls *ls, struct dlm_rcom *rc_in) receive_rcom_status() argument 253 receive_sync_reply(struct dlm_ls *ls, struct dlm_rcom *rc_in) receive_sync_reply() argument 272 dlm_rcom_names(struct dlm_ls *ls, int nodeid, char *last_name, int last_len) dlm_rcom_names() argument 299 receive_rcom_names(struct dlm_ls *ls, struct dlm_rcom *rc_in) receive_rcom_names() argument 324 struct dlm_ls *ls = r->res_ls; dlm_send_rcom_lookup() local 339 receive_rcom_lookup(struct dlm_ls *ls, struct dlm_rcom *rc_in) receive_rcom_lookup() argument 368 receive_rcom_lookup_reply(struct dlm_ls *ls, struct dlm_rcom *rc_in) receive_rcom_lookup_reply() argument 405 struct dlm_ls *ls = r->res_ls; dlm_send_rcom_lock() local 428 receive_rcom_lock(struct dlm_ls *ls, struct dlm_rcom *rc_in) receive_rcom_lock() argument 534 dlm_receive_rcom(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid) dlm_receive_rcom() argument [all...] |
H A D | dir.c | 33 int dlm_hash2nodeid(struct dlm_ls *ls, uint32_t hash) in dlm_hash2nodeid() argument 37 if (ls->ls_num_nodes == 1) in dlm_hash2nodeid() 40 node = (hash >> 16) % ls->ls_total_weight; in dlm_hash2nodeid() 41 return ls->ls_node_array[node]; in dlm_hash2nodeid() 50 void dlm_recover_dir_nodeid(struct dlm_ls *ls) in dlm_recover_dir_nodeid() argument 54 down_read(&ls->ls_root_sem); in dlm_recover_dir_nodeid() 55 list_for_each_entry(r, &ls->ls_root_list, res_root_list) { in dlm_recover_dir_nodeid() 56 r->res_dir_nodeid = dlm_hash2nodeid(ls, r->res_hash); in dlm_recover_dir_nodeid() 58 up_read(&ls->ls_root_sem); in dlm_recover_dir_nodeid() 61 int dlm_recover_directory(struct dlm_ls *ls) in dlm_recover_directory() argument 198 find_rsb_root(struct dlm_ls *ls, char *name, int len) find_rsb_root() argument 234 dlm_copy_master_names(struct dlm_ls *ls, char *inbuf, int inlen, char *outbuf, int outlen, int nodeid) dlm_copy_master_names() argument [all...] |
H A D | requestqueue.c | 32 void dlm_add_requestqueue(struct dlm_ls *ls, int nodeid, struct dlm_message *ms) in dlm_add_requestqueue() argument 43 e->recover_seq = ls->ls_recover_seq & 0xFFFFFFFF; in dlm_add_requestqueue() 47 mutex_lock(&ls->ls_requestqueue_mutex); in dlm_add_requestqueue() 48 list_add_tail(&e->list, &ls->ls_requestqueue); in dlm_add_requestqueue() 49 mutex_unlock(&ls->ls_requestqueue_mutex); in dlm_add_requestqueue() 63 int dlm_process_requestqueue(struct dlm_ls *ls) in dlm_process_requestqueue() argument 69 mutex_lock(&ls->ls_requestqueue_mutex); in dlm_process_requestqueue() 72 if (list_empty(&ls->ls_requestqueue)) { in dlm_process_requestqueue() 73 mutex_unlock(&ls->ls_requestqueue_mutex); in dlm_process_requestqueue() 77 e = list_entry(ls in dlm_process_requestqueue() 116 dlm_wait_requestqueue(struct dlm_ls *ls) dlm_wait_requestqueue() argument 128 purge_request(struct dlm_ls *ls, struct dlm_message *ms, int nodeid) purge_request() argument 153 dlm_purge_requestqueue(struct dlm_ls *ls) dlm_purge_requestqueue() argument [all...] |
H A D | lock.c | 16 request_lock(ls, lkb) 17 convert_lock(ls, lkb) 18 unlock_lock(ls, lkb) 19 cancel_lock(ls, lkb) 89 static void do_purge(struct dlm_ls *ls, int nodeid, int pid); 203 static inline void dlm_lock_recovery(struct dlm_ls *ls) in dlm_lock_recovery() argument 205 down_read(&ls->ls_in_recovery); in dlm_lock_recovery() 208 void dlm_unlock_recovery(struct dlm_ls *ls) in dlm_unlock_recovery() argument 210 up_read(&ls->ls_in_recovery); in dlm_unlock_recovery() 213 int dlm_lock_recovery_try(struct dlm_ls *ls) in dlm_lock_recovery_try() argument 349 struct dlm_ls *ls = r->res_ls; put_rsb() local 362 pre_rsb_struct(struct dlm_ls *ls) pre_rsb_struct() argument 398 get_rsb_struct(struct dlm_ls *ls, char *name, int len, struct dlm_rsb **r_ret) get_rsb_struct() argument 543 find_rsb_dir(struct dlm_ls *ls, char *name, int len, uint32_t hash, uint32_t b, int dir_nodeid, int from_nodeid, unsigned int flags, struct dlm_rsb **r_ret) find_rsb_dir() argument 722 find_rsb_nodir(struct dlm_ls *ls, char *name, int len, uint32_t hash, uint32_t b, int dir_nodeid, int from_nodeid, unsigned int flags, struct dlm_rsb **r_ret) find_rsb_nodir() argument 816 find_rsb(struct dlm_ls *ls, char *name, int len, int from_nodeid, unsigned int flags, struct dlm_rsb **r_ret) find_rsb() argument 841 validate_master_nodeid(struct dlm_ls *ls, struct dlm_rsb *r, int from_nodeid) validate_master_nodeid() argument 910 dlm_master_lookup(struct dlm_ls *ls, int from_nodeid, char *name, int len, unsigned int flags, int *r_nodeid, int *result) dlm_master_lookup() argument 1083 dlm_dump_rsb_hash(struct dlm_ls *ls, uint32_t hash) dlm_dump_rsb_hash() argument 1100 dlm_dump_rsb_name(struct dlm_ls *ls, char *name, int len) dlm_dump_rsb_name() argument 1126 struct dlm_ls *ls = r->res_ls; toss_rsb() local 1181 create_lkb(struct dlm_ls *ls, struct dlm_lkb **lkb_ret) create_lkb() argument 1218 find_lkb(struct dlm_ls *ls, uint32_t lkid, struct dlm_lkb **lkb_ret) find_lkb() argument 1245 __put_lkb(struct dlm_ls *ls, struct dlm_lkb *lkb) __put_lkb() argument 1269 struct dlm_ls *ls; dlm_put_lkb() local 1393 dlm_scan_waiters(struct dlm_ls *ls) dlm_scan_waiters() argument 1452 struct dlm_ls *ls = lkb->lkb_resource->res_ls; add_to_waiters() local 1511 struct dlm_ls *ls = lkb->lkb_resource->res_ls; _remove_from_waiters() local 1597 struct dlm_ls *ls = lkb->lkb_resource->res_ls; remove_from_waiters() local 1611 struct dlm_ls *ls = lkb->lkb_resource->res_ls; remove_from_waiters_ms() local 1629 struct dlm_ls *ls = r->res_ls; wait_pending_remove() local 1650 shrink_bucket(struct dlm_ls *ls, int b) shrink_bucket() argument 1802 dlm_scan_rsbs(struct dlm_ls *ls) dlm_scan_rsbs() argument 1816 struct dlm_ls *ls = lkb->lkb_resource->res_ls; add_timeout() local 1840 struct dlm_ls *ls = lkb->lkb_resource->res_ls; del_timeout() local 1856 dlm_scan_timeout(struct dlm_ls *ls) dlm_scan_timeout() argument 1924 dlm_adjust_timeouts(struct dlm_ls *ls) dlm_adjust_timeouts() argument 2889 validate_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_args *args) validate_lock_args() argument 2942 struct dlm_ls *ls = lkb->lkb_resource->res_ls; validate_unlock_args() local 3317 request_lock(struct dlm_ls *ls, struct dlm_lkb *lkb, char *name, int len, struct dlm_args *args) request_lock() argument 3343 convert_lock(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_args *args) convert_lock() argument 3365 unlock_lock(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_args *args) unlock_lock() argument 3387 cancel_lock(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_args *args) cancel_lock() argument 3424 struct dlm_ls *ls; dlm_lock() local 3472 struct dlm_ls *ls; dlm_unlock() local 3530 _create_message(struct dlm_ls *ls, int mb_len, int to_nodeid, int mstype, struct dlm_message **ms_ret, struct dlm_mhandle **mh_ret) _create_message() argument 3842 send_lookup_reply(struct dlm_ls *ls, struct dlm_message *ms_in, int ret_nodeid, int rv) send_lookup_reply() argument 3890 receive_lvb(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_message *ms) receive_lvb() argument 3918 receive_request_args(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_message *ms) receive_request_args() argument 3940 receive_convert_args(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_message *ms) receive_convert_args() argument 3955 receive_unlock_args(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_message *ms) receive_unlock_args() argument 3966 setup_stub_lkb(struct dlm_ls *ls, struct dlm_message *ms) setup_stub_lkb() argument 4026 send_repeat_remove(struct dlm_ls *ls, char *ms_name, int len) send_repeat_remove() argument 4085 receive_request(struct dlm_ls *ls, struct dlm_message *ms) receive_request() argument 4178 receive_convert(struct dlm_ls *ls, struct dlm_message *ms) receive_convert() argument 4233 receive_unlock(struct dlm_ls *ls, struct dlm_message *ms) receive_unlock() argument 4284 receive_cancel(struct dlm_ls *ls, struct dlm_message *ms) receive_cancel() argument 4320 receive_grant(struct dlm_ls *ls, struct dlm_message *ms) receive_grant() argument 4351 receive_bast(struct dlm_ls *ls, struct dlm_message *ms) receive_bast() argument 4379 receive_lookup(struct dlm_ls *ls, struct dlm_message *ms) receive_lookup() argument 4399 receive_remove(struct dlm_ls *ls, struct dlm_message *ms) receive_remove() argument 4487 receive_purge(struct dlm_ls *ls, struct dlm_message *ms) receive_purge() argument 4492 receive_request_reply(struct dlm_ls *ls, struct dlm_message *ms) receive_request_reply() argument 4679 receive_convert_reply(struct dlm_ls *ls, struct dlm_message *ms) receive_convert_reply() argument 4729 receive_unlock_reply(struct dlm_ls *ls, struct dlm_message *ms) receive_unlock_reply() argument 4779 receive_cancel_reply(struct dlm_ls *ls, struct dlm_message *ms) receive_cancel_reply() argument 4793 receive_lookup_reply(struct dlm_ls *ls, struct dlm_message *ms) receive_lookup_reply() argument 4871 _receive_message(struct dlm_ls *ls, struct dlm_message *ms, uint32_t saved_seq) _receive_message() argument 5000 dlm_receive_message(struct dlm_ls *ls, struct dlm_message *ms, int nodeid) dlm_receive_message() argument 5023 dlm_receive_message_saved(struct dlm_ls *ls, struct dlm_message *ms, uint32_t saved_seq) dlm_receive_message_saved() argument 5037 struct dlm_ls *ls; dlm_receive_buffer() local 5086 recover_convert_waiter(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_message *ms_stub) recover_convert_waiter() argument 5114 waiter_needs_recovery(struct dlm_ls *ls, struct dlm_lkb *lkb, int dir_nodeid) waiter_needs_recovery() argument 5132 dlm_recover_waiters_pre(struct dlm_ls *ls) dlm_recover_waiters_pre() argument 5243 find_resend_waiter(struct dlm_ls *ls) find_resend_waiter() argument 5276 dlm_recover_waiters_post(struct dlm_ls *ls) dlm_recover_waiters_post() argument 5377 purge_mstcpy_list(struct dlm_ls *ls, struct dlm_rsb *r, struct list_head *list) purge_mstcpy_list() argument 5402 struct dlm_ls *ls = r->res_ls; dlm_purge_mstcpy_locks() local 5409 purge_dead_list(struct dlm_ls *ls, struct dlm_rsb *r, struct list_head *list, int nodeid_gone, unsigned int *count) purge_dead_list() argument 5444 dlm_recover_purge(struct dlm_ls *ls) dlm_recover_purge() argument 5486 find_grant_rsb(struct dlm_ls *ls, int bucket) find_grant_rsb() argument 5526 dlm_recover_grant(struct dlm_ls *ls) dlm_recover_grant() argument 5590 receive_rcom_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_rsb *r, struct dlm_rcom *rc) receive_rcom_lock_args() argument 5641 dlm_recover_master_copy(struct dlm_ls *ls, struct dlm_rcom *rc) dlm_recover_master_copy() argument 5722 dlm_recover_process_copy(struct dlm_ls *ls, struct dlm_rcom *rc) dlm_recover_process_copy() argument 5786 dlm_user_request(struct dlm_ls *ls, struct dlm_user_args *ua, int mode, uint32_t flags, void *name, unsigned int namelen, unsigned long timeout_cs) dlm_user_request() argument 5851 dlm_user_convert(struct dlm_ls *ls, struct dlm_user_args *ua_tmp, int mode, uint32_t flags, uint32_t lkid, char *lvb_in, unsigned long timeout_cs) dlm_user_convert() argument 5911 dlm_user_adopt_orphan(struct dlm_ls *ls, struct dlm_user_args *ua_tmp, int mode, uint32_t flags, void *name, unsigned int namelen, unsigned long timeout_cs, uint32_t *lkid) dlm_user_adopt_orphan() argument 5976 dlm_user_unlock(struct dlm_ls *ls, struct dlm_user_args *ua_tmp, uint32_t flags, uint32_t lkid, char *lvb_in) dlm_user_unlock() argument 6025 dlm_user_cancel(struct dlm_ls *ls, struct dlm_user_args *ua_tmp, uint32_t flags, uint32_t lkid) dlm_user_cancel() argument 6063 dlm_user_deadlock(struct dlm_ls *ls, uint32_t flags, uint32_t lkid) dlm_user_deadlock() argument 6114 orphan_proc_lock(struct dlm_ls *ls, struct dlm_lkb *lkb) orphan_proc_lock() argument 6137 unlock_proc_lock(struct dlm_ls *ls, struct dlm_lkb *lkb) unlock_proc_lock() argument 6155 del_proc_lock(struct dlm_ls *ls, struct dlm_user_proc *proc) del_proc_lock() argument 6186 dlm_clear_proc_locks(struct dlm_ls *ls, struct dlm_user_proc *proc) dlm_clear_proc_locks() argument 6229 purge_proc_locks(struct dlm_ls *ls, struct dlm_user_proc *proc) purge_proc_locks() argument 6271 do_purge(struct dlm_ls *ls, int nodeid, int pid) do_purge() argument 6286 send_purge(struct dlm_ls *ls, int nodeid, int pid) send_purge() argument 6302 dlm_user_purge(struct dlm_ls *ls, struct dlm_user_proc *proc, int nodeid, int pid) dlm_user_purge() argument [all...] |
H A D | recover.h | 15 int dlm_wait_function(struct dlm_ls *ls, int (*testfn) (struct dlm_ls *ls)); 16 uint32_t dlm_recover_status(struct dlm_ls *ls); 17 void dlm_set_recover_status(struct dlm_ls *ls, uint32_t status); 18 int dlm_recover_members_wait(struct dlm_ls *ls); 19 int dlm_recover_directory_wait(struct dlm_ls *ls); 20 int dlm_recover_locks_wait(struct dlm_ls *ls); 21 int dlm_recover_done_wait(struct dlm_ls *ls); 22 int dlm_recover_masters(struct dlm_ls *ls); 23 int dlm_recover_master_reply(struct dlm_ls *ls, struc [all...] |
H A D | lock.h | 15 void dlm_dump_rsb_name(struct dlm_ls *ls, char *name, int len); 17 void dlm_receive_message_saved(struct dlm_ls *ls, struct dlm_message *ms, 24 void dlm_scan_rsbs(struct dlm_ls *ls); 25 int dlm_lock_recovery_try(struct dlm_ls *ls); 26 void dlm_unlock_recovery(struct dlm_ls *ls); 27 void dlm_scan_waiters(struct dlm_ls *ls); 28 void dlm_scan_timeout(struct dlm_ls *ls); 29 void dlm_adjust_timeouts(struct dlm_ls *ls); 30 int dlm_master_lookup(struct dlm_ls *ls, int nodeid, char *name, int len, 36 void dlm_recover_purge(struct dlm_ls *ls); [all...] |
/kernel/linux/linux-5.10/fs/gfs2/ |
H A D | lock_dlm.c | 257 struct lm_lockstruct *ls = &gl->gl_name.ln_sbd->sd_lockstruct; in gdlm_lock() local 279 return dlm_lock(ls->ls_dlm, req, &gl->gl_lksb, lkf, strname, in gdlm_lock() 286 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gdlm_put_lock() local 300 if (test_bit(DFL_UNMOUNT, &ls->ls_recover_flags)) { in gdlm_put_lock() 312 error = dlm_unlock(ls->ls_dlm, gl->gl_lksb.sb_lkid, DLM_LKF_VALBLK, in gdlm_put_lock() 324 struct lm_lockstruct *ls = &gl->gl_name.ln_sbd->sd_lockstruct; in gdlm_cancel() local 325 dlm_unlock(ls->ls_dlm, gl->gl_lksb.sb_lkid, DLM_LKF_CANCEL, NULL, gl); in gdlm_cancel() 471 static void control_lvb_read(struct lm_lockstruct *ls, uint32_t *lvb_gen, in control_lvb_read() argument 475 memcpy(lvb_bits, ls->ls_control_lvb, GDLM_LVB_SIZE); in control_lvb_read() 480 static void control_lvb_write(struct lm_lockstruct *ls, uint32_ argument 497 struct lm_lockstruct *ls = arg; sync_wait_cb() local 503 struct lm_lockstruct *ls = &sdp->sd_lockstruct; sync_unlock() local 526 struct lm_lockstruct *ls = &sdp->sd_lockstruct; sync_lock() local 556 struct lm_lockstruct *ls = &sdp->sd_lockstruct; mounted_unlock() local 562 struct lm_lockstruct *ls = &sdp->sd_lockstruct; mounted_lock() local 569 struct lm_lockstruct *ls = &sdp->sd_lockstruct; control_unlock() local 575 struct lm_lockstruct *ls = &sdp->sd_lockstruct; control_lock() local 605 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gfs2_control_func() local 789 struct lm_lockstruct *ls = &sdp->sd_lockstruct; control_mount() local 987 struct lm_lockstruct *ls = &sdp->sd_lockstruct; control_first_done() local 1054 struct lm_lockstruct *ls = &sdp->sd_lockstruct; set_recover_size() local 1099 free_recover_size(struct lm_lockstruct *ls) free_recover_size() argument 1115 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_recover_prep() local 1140 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_recover_slot() local 1170 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_recover_done() local 1201 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_recovery_result() local 1250 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_mount() local 1347 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_first_done() local 1360 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_unmount() local [all...] |
/kernel/linux/linux-6.6/fs/gfs2/ |
H A D | lock_dlm.c | 255 struct lm_lockstruct *ls = &gl->gl_name.ln_sbd->sd_lockstruct; in gdlm_lock() local 279 error = dlm_lock(ls->ls_dlm, req, &gl->gl_lksb, lkf, strname, in gdlm_lock() 291 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gdlm_put_lock() local 303 if (test_bit(DFL_UNMOUNT, &ls->ls_recover_flags)) in gdlm_put_lock() 312 error = dlm_unlock(ls->ls_dlm, gl->gl_lksb.sb_lkid, DLM_LKF_VALBLK, in gdlm_put_lock() 332 struct lm_lockstruct *ls = &gl->gl_name.ln_sbd->sd_lockstruct; in gdlm_cancel() local 333 dlm_unlock(ls->ls_dlm, gl->gl_lksb.sb_lkid, DLM_LKF_CANCEL, NULL, gl); in gdlm_cancel() 479 static void control_lvb_read(struct lm_lockstruct *ls, uint32_t *lvb_gen, in control_lvb_read() argument 483 memcpy(lvb_bits, ls->ls_control_lvb, GDLM_LVB_SIZE); in control_lvb_read() 488 static void control_lvb_write(struct lm_lockstruct *ls, uint32_ argument 505 struct lm_lockstruct *ls = arg; sync_wait_cb() local 511 struct lm_lockstruct *ls = &sdp->sd_lockstruct; sync_unlock() local 534 struct lm_lockstruct *ls = &sdp->sd_lockstruct; sync_lock() local 564 struct lm_lockstruct *ls = &sdp->sd_lockstruct; mounted_unlock() local 570 struct lm_lockstruct *ls = &sdp->sd_lockstruct; mounted_lock() local 577 struct lm_lockstruct *ls = &sdp->sd_lockstruct; control_unlock() local 583 struct lm_lockstruct *ls = &sdp->sd_lockstruct; control_lock() local 613 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gfs2_control_func() local 797 struct lm_lockstruct *ls = &sdp->sd_lockstruct; control_mount() local 995 struct lm_lockstruct *ls = &sdp->sd_lockstruct; control_first_done() local 1062 struct lm_lockstruct *ls = &sdp->sd_lockstruct; set_recover_size() local 1107 free_recover_size(struct lm_lockstruct *ls) free_recover_size() argument 1123 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_recover_prep() local 1148 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_recover_slot() local 1178 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_recover_done() local 1209 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_recovery_result() local 1258 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_mount() local 1355 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_first_done() local 1368 struct lm_lockstruct *ls = &sdp->sd_lockstruct; gdlm_unmount() local [all...] |
/kernel/linux/linux-6.6/fs/nfsd/ |
H A D | nfs4layouts.c | 158 struct nfs4_layout_stateid *ls = layoutstateid(stid); in nfsd4_free_layout_stateid() local 159 struct nfs4_client *clp = ls->ls_stid.sc_client; in nfsd4_free_layout_stateid() 160 struct nfs4_file *fp = ls->ls_stid.sc_file; in nfsd4_free_layout_stateid() 162 trace_nfsd_layoutstate_free(&ls->ls_stid.sc_stateid); in nfsd4_free_layout_stateid() 165 list_del_init(&ls->ls_perclnt); in nfsd4_free_layout_stateid() 169 list_del_init(&ls->ls_perfile); in nfsd4_free_layout_stateid() 172 if (!nfsd4_layout_ops[ls->ls_layout_type]->disable_recalls) in nfsd4_free_layout_stateid() 173 vfs_setlease(ls->ls_file->nf_file, F_UNLCK, NULL, (void **)&ls); in nfsd4_free_layout_stateid() 174 nfsd_file_put(ls in nfsd4_free_layout_stateid() 183 nfsd4_layout_setlease(struct nfs4_layout_stateid *ls) nfsd4_layout_setlease() argument 218 struct nfs4_layout_stateid *ls; nfsd4_alloc_layout_stateid() local 270 struct nfs4_layout_stateid *ls; nfsd4_preprocess_layout_stateid() local 320 nfsd4_recall_file_layout(struct nfs4_layout_stateid *ls) nfsd4_recall_file_layout() argument 384 nfsd4_recall_conflict(struct nfs4_layout_stateid *ls) nfsd4_recall_conflict() argument 403 nfsd4_insert_layout(struct nfsd4_layoutget *lgp, struct nfs4_layout_stateid *ls) nfsd4_insert_layout() argument 494 struct nfs4_layout_stateid *ls; nfsd4_return_file_layouts() local 537 struct nfs4_layout_stateid *ls, *n; nfsd4_return_client_layouts() local 569 nfsd4_return_all_layouts(struct nfs4_layout_stateid *ls, struct list_head *reaplist) nfsd4_return_all_layouts() argument 580 struct nfs4_layout_stateid *ls, *n; nfsd4_return_all_client_layouts() local 594 struct nfs4_layout_stateid *ls, *n; nfsd4_return_all_file_layouts() local 608 nfsd4_cb_layout_fail(struct nfs4_layout_stateid *ls) nfsd4_cb_layout_fail() argument 644 struct nfs4_layout_stateid *ls = nfsd4_cb_layout_prepare() local 655 struct nfs4_layout_stateid *ls = nfsd4_cb_layout_done() local 708 struct nfs4_layout_stateid *ls = nfsd4_cb_layout_release() local [all...] |
/kernel/linux/linux-5.10/fs/nfsd/ |
H A D | nfs4layouts.c | 157 struct nfs4_layout_stateid *ls = layoutstateid(stid); in nfsd4_free_layout_stateid() local 158 struct nfs4_client *clp = ls->ls_stid.sc_client; in nfsd4_free_layout_stateid() 159 struct nfs4_file *fp = ls->ls_stid.sc_file; in nfsd4_free_layout_stateid() 161 trace_nfsd_layoutstate_free(&ls->ls_stid.sc_stateid); in nfsd4_free_layout_stateid() 164 list_del_init(&ls->ls_perclnt); in nfsd4_free_layout_stateid() 168 list_del_init(&ls->ls_perfile); in nfsd4_free_layout_stateid() 171 if (!nfsd4_layout_ops[ls->ls_layout_type]->disable_recalls) in nfsd4_free_layout_stateid() 172 vfs_setlease(ls->ls_file->nf_file, F_UNLCK, NULL, (void **)&ls); in nfsd4_free_layout_stateid() 173 nfsd_file_put(ls in nfsd4_free_layout_stateid() 182 nfsd4_layout_setlease(struct nfs4_layout_stateid *ls) nfsd4_layout_setlease() argument 217 struct nfs4_layout_stateid *ls; nfsd4_alloc_layout_stateid() local 269 struct nfs4_layout_stateid *ls; nfsd4_preprocess_layout_stateid() local 319 nfsd4_recall_file_layout(struct nfs4_layout_stateid *ls) nfsd4_recall_file_layout() argument 383 nfsd4_recall_conflict(struct nfs4_layout_stateid *ls) nfsd4_recall_conflict() argument 402 nfsd4_insert_layout(struct nfsd4_layoutget *lgp, struct nfs4_layout_stateid *ls) nfsd4_insert_layout() argument 493 struct nfs4_layout_stateid *ls; nfsd4_return_file_layouts() local 536 struct nfs4_layout_stateid *ls, *n; nfsd4_return_client_layouts() local 568 nfsd4_return_all_layouts(struct nfs4_layout_stateid *ls, struct list_head *reaplist) nfsd4_return_all_layouts() argument 579 struct nfs4_layout_stateid *ls, *n; nfsd4_return_all_client_layouts() local 593 struct nfs4_layout_stateid *ls, *n; nfsd4_return_all_file_layouts() local 607 nfsd4_cb_layout_fail(struct nfs4_layout_stateid *ls) nfsd4_cb_layout_fail() argument 643 struct nfs4_layout_stateid *ls = nfsd4_cb_layout_prepare() local 654 struct nfs4_layout_stateid *ls = nfsd4_cb_layout_done() local 707 struct nfs4_layout_stateid *ls = nfsd4_cb_layout_release() local [all...] |