Lines Matching +full:1 +full:ms
31 Stage 1 (lock, unlock) is mainly about checking input args and
89 const struct dlm_message *ms, bool local);
90 static int receive_extralen(const struct dlm_message *ms);
99 * Usage: matrix[grmode+1][rqmode+1] (although m[rq+1][gr+1] is the same)
104 {1, 1, 1, 1, 1, 1, 1, 0}, /* UN */
105 {1, 1, 1, 1, 1, 1, 1, 0}, /* NL */
106 {1, 1, 1, 1, 1, 1, 0, 0}, /* CR */
107 {1, 1, 1, 1, 0, 0, 0, 0}, /* CW */
108 {1, 1, 1, 0, 1, 0, 0, 0}, /* PR */
109 {1, 1, 1, 0, 0, 0, 0, 0}, /* PW */
110 {1, 1, 0, 0, 0, 0, 0, 0}, /* EX */
117 * Usage: matrix[grmode+1][rqmode+1]
118 * 1 = LVB is returned to the caller
120 * -1 = nothing happens to the LVB
125 { -1, 1, 1, 1, 1, 1, 1, -1 }, /* UN */
126 { -1, 1, 1, 1, 1, 1, 1, 0 }, /* NL */
127 { -1, -1, 1, 1, 1, 1, 1, 0 }, /* CR */
128 { -1, -1, -1, 1, 1, 1, 1, 0 }, /* CW */
129 { -1, -1, -1, -1, 1, 1, 1, 0 }, /* PR */
130 { -1, 0, 0, 0, 0, 0, 1, 0 }, /* PW */
131 { -1, 0, 0, 0, 0, 0, 0, 0 }, /* EX */
132 { -1, 0, 0, 0, 0, 0, 0, 0 } /* PD */
136 __dlm_compat_matrix[(gr)->lkb_grmode + 1][(rq)->lkb_rqmode + 1]
140 return __dlm_compat_matrix[mode1 + 1][mode2 + 1]; in dlm_modes_compat()
146 * Usage: matrix[grmode+1][rqmode+1]
152 {0, 0, 1, 1, 1, 1, 1, 0}, /* NL */
153 {0, 0, 0, 1, 1, 1, 1, 0}, /* CR */
154 {0, 0, 0, 0, 1, 1, 1, 0}, /* CW */
155 {0, 0, 0, 1, 0, 1, 1, 0}, /* PR */
156 {0, 0, 0, 0, 0, 0, 1, 0}, /* PW */
265 return 1; in middle_conversion()
367 return 1; in dlm_kref_put_write_lock_bh()
501 /* if we hit contention we do in 250 ms a retry to trylock.
517 while (1) { in dlm_rsb_scan()
661 * ref count of 1; when found on normal list the ref count is incremented.
708 from_dir = 1; in find_rsb_dir()
710 from_other = 1; in find_rsb_dir()
712 from_local = 1; in find_rsb_dir()
732 create = 1; in find_rsb_dir()
891 r->res_nodeid = -1; in find_rsb_dir()
1134 request; this could happen with master 0 / res_nodeid -1 */ in validate_master_nodeid()
1248 * . dlm_master_lookup RECOVER_DIR (fix_master 0, from_master 1)
1257 * . dlm_master_lookup RECOVER_MASTER (fix_master 1, from_master 0)
1283 *r_nodeid = -1; in _dlm_master_lookup()
1443 * 1. Leave the inactive rsb in place (don't remove it). in deactivate_rsb()
1446 * 1 is done when the rsb is acting as the dir record in deactivate_rsb()
1517 lkb->lkb_nodeid = -1; in _create_lkb()
1539 return _create_lkb(ls, lkb_ret, 1, ULONG_MAX); in create_lkb()
1716 return -1; in msg_reply_type()
1740 WARN_ON_ONCE(1); in add_to_waiters()
1771 const struct dlm_message *ms) in _remove_from_waiters() argument
1779 overlap_done = 1; in _remove_from_waiters()
1786 overlap_done = 1; in _remove_from_waiters()
1797 return -1; in _remove_from_waiters()
1809 (lkb->lkb_wait_type == DLM_MSG_CONVERT) && ms && !ms->m_result && in _remove_from_waiters()
1828 lkb->lkb_id, ms ? le32_to_cpu(ms->m_header.h_nodeid) : 0, in _remove_from_waiters()
1830 return -1; in _remove_from_waiters()
1875 const struct dlm_message *ms, bool local) in remove_from_waiters_ms() argument
1885 error = _remove_from_waiters(lkb, le32_to_cpu(ms->m_type), ms); in remove_from_waiters_ms()
1897 /* b=1 lvb returned to caller in set_lvb_lock()
1899 b=-1 do nothing */ in set_lvb_lock()
1901 b = dlm_lvb_operations[lkb->lkb_grmode + 1][lkb->lkb_rqmode + 1]; in set_lvb_lock()
1903 if (b == 1) { in set_lvb_lock()
1974 const struct dlm_message *ms) in set_lvb_lock_pc() argument
1984 b = dlm_lvb_operations[lkb->lkb_grmode + 1][lkb->lkb_rqmode + 1]; in set_lvb_lock_pc()
1985 if (b == 1) { in set_lvb_lock_pc()
1986 int len = receive_extralen(ms); in set_lvb_lock_pc()
1989 memcpy(lkb->lkb_lvbptr, ms->m_extra, len); in set_lvb_lock_pc()
1990 lkb->lkb_lvbseq = le32_to_cpu(ms->m_lvbseq); in set_lvb_lock_pc()
2025 1 moved lock to granted
2026 -1 removed lock */
2039 rv = 1; in revert_lock()
2047 rv = -1; in revert_lock()
2081 const struct dlm_message *ms) in grant_lock_pc() argument
2083 set_lvb_lock_pc(r, lkb, ms); in grant_lock_pc()
2119 static void munge_altmode(struct dlm_lkb *lkb, const struct dlm_message *ms) in munge_altmode() argument
2121 if (ms->m_type != cpu_to_le32(DLM_MSG_REQUEST_REPLY) && in munge_altmode()
2122 ms->m_type != cpu_to_le32(DLM_MSG_GRANT)) { in munge_altmode()
2124 lkb->lkb_id, le32_to_cpu(ms->m_type)); in munge_altmode()
2143 return 1; in first_in_list()
2158 return 1; in queue_conflict()
2211 lkb_is_ahead = 1; in conversion_deadlock_detect()
2217 return 1; in conversion_deadlock_detect()
2221 return 1; in conversion_deadlock_detect()
2228 * Return 1 if the lock can be granted, 0 otherwise.
2233 * now is 1 if the function is being called in the context of the
2237 * recover is 1 if dlm_recover_grant() is trying to grant conversions
2262 * be 1. The full condition to grant an expedite request: (now && in _can_be_granted()
2268 return 1; in _can_be_granted()
2302 return 1; in _can_be_granted()
2328 return 1; in _can_be_granted()
2337 return 1; in _can_be_granted()
2348 return 1; in _can_be_granted()
2357 return 1; in _can_be_granted()
2372 return 1; in _can_be_granted()
2384 return 1; in _can_be_granted()
2471 grant_restart = 1; in grant_pending_convert()
2480 demote_restart = 1; in grant_pending_convert()
2507 *cw = 1; in grant_pending_convert()
2513 quit = 1; in grant_pending_convert()
2533 *cw = 1; in grant_pending_wait()
2540 /* cw of 1 means there's a lock with a rqmode of DLM_LOCK_CW that's blocked
2549 return 1; in lock_requires_bast()
2554 !__dlm_compat_matrix[gr->lkb_grmode+1][high+1]) in lock_requires_bast()
2555 return 1; in lock_requires_bast()
2600 return 1; in modes_require_bast()
2605 return 1; in modes_require_bast()
2651 1: the rsb master is not available and the lkb has been placed on
2668 return 1; in set_master()
2699 return 1; in set_master()
2850 !__quecvt_compat_matrix[lkb->lkb_grmode+1][args->mode+1]) in validate_lock_args()
2870 WARN_ON(1); in validate_lock_args()
2888 /* note: it's valid for lkb_nodeid/res_nodeid to be -1 when we get here
3013 WARN_ON(1); in validate_unlock_args()
3041 if (can_be_granted(r, lkb, 1, 0, NULL)) { in do_request()
3080 if (can_be_granted(r, lkb, 1, 0, &deadlk)) { in do_convert()
3106 if (_can_be_granted(r, lkb, 1, 0)) { in do_convert()
3369 * Two stage 1 varieties: dlm_lock() and dlm_unlock()
3502 struct dlm_message *ms; in _create_message() local
3514 ms = (struct dlm_message *) mb; in _create_message()
3516 ms->m_header.h_version = cpu_to_le32(DLM_HEADER_MAJOR | DLM_HEADER_MINOR); in _create_message()
3517 ms->m_header.u.h_lockspace = cpu_to_le32(ls->ls_global_id); in _create_message()
3518 ms->m_header.h_nodeid = cpu_to_le32(dlm_our_nodeid()); in _create_message()
3519 ms->m_header.h_length = cpu_to_le16(mb_len); in _create_message()
3520 ms->m_header.h_cmd = DLM_MSG; in _create_message()
3522 ms->m_type = cpu_to_le32(mstype); in _create_message()
3525 *ms_ret = ms; in _create_message()
3559 static int send_message(struct dlm_mhandle *mh, struct dlm_message *ms, in send_message() argument
3567 struct dlm_message *ms) in send_args() argument
3569 ms->m_nodeid = cpu_to_le32(lkb->lkb_nodeid); in send_args()
3570 ms->m_pid = cpu_to_le32(lkb->lkb_ownpid); in send_args()
3571 ms->m_lkid = cpu_to_le32(lkb->lkb_id); in send_args()
3572 ms->m_remid = cpu_to_le32(lkb->lkb_remid); in send_args()
3573 ms->m_exflags = cpu_to_le32(lkb->lkb_exflags); in send_args()
3574 ms->m_sbflags = cpu_to_le32(dlm_sbflags_val(lkb)); in send_args()
3575 ms->m_flags = cpu_to_le32(dlm_dflags_val(lkb)); in send_args()
3576 ms->m_lvbseq = cpu_to_le32(lkb->lkb_lvbseq); in send_args()
3577 ms->m_status = cpu_to_le32(lkb->lkb_status); in send_args()
3578 ms->m_grmode = cpu_to_le32(lkb->lkb_grmode); in send_args()
3579 ms->m_rqmode = cpu_to_le32(lkb->lkb_rqmode); in send_args()
3580 ms->m_hash = cpu_to_le32(r->res_hash); in send_args()
3586 ms->m_asts |= cpu_to_le32(DLM_CB_BAST); in send_args()
3588 ms->m_asts |= cpu_to_le32(DLM_CB_CAST); in send_args()
3593 switch (ms->m_type) { in send_args()
3596 memcpy(ms->m_extra, r->res_name, r->res_length); in send_args()
3605 memcpy(ms->m_extra, lkb->lkb_lvbptr, r->res_ls->ls_lvblen); in send_args()
3612 struct dlm_message *ms; in send_common() local
3619 error = create_message(r, lkb, to_nodeid, mstype, &ms, &mh); in send_common()
3623 send_args(r, lkb, ms); in send_common()
3625 error = send_message(mh, ms, r->res_name, r->res_length); in send_common()
3673 struct dlm_message *ms; in send_grant() local
3679 error = create_message(r, lkb, to_nodeid, DLM_MSG_GRANT, &ms, &mh); in send_grant()
3683 send_args(r, lkb, ms); in send_grant()
3685 ms->m_result = 0; in send_grant()
3687 error = send_message(mh, ms, r->res_name, r->res_length); in send_grant()
3694 struct dlm_message *ms; in send_bast() local
3700 error = create_message(r, NULL, to_nodeid, DLM_MSG_BAST, &ms, &mh); in send_bast()
3704 send_args(r, lkb, ms); in send_bast()
3706 ms->m_bastmode = cpu_to_le32(mode); in send_bast()
3708 error = send_message(mh, ms, r->res_name, r->res_length); in send_bast()
3715 struct dlm_message *ms; in send_lookup() local
3722 error = create_message(r, NULL, to_nodeid, DLM_MSG_LOOKUP, &ms, &mh); in send_lookup()
3726 send_args(r, lkb, ms); in send_lookup()
3728 error = send_message(mh, ms, r->res_name, r->res_length); in send_lookup()
3740 struct dlm_message *ms; in send_remove() local
3746 error = create_message(r, NULL, to_nodeid, DLM_MSG_REMOVE, &ms, &mh); in send_remove()
3750 memcpy(ms->m_extra, r->res_name, r->res_length); in send_remove()
3751 ms->m_hash = cpu_to_le32(r->res_hash); in send_remove()
3753 error = send_message(mh, ms, r->res_name, r->res_length); in send_remove()
3761 struct dlm_message *ms; in send_common_reply() local
3767 error = create_message(r, lkb, to_nodeid, mstype, &ms, &mh); in send_common_reply()
3771 send_args(r, lkb, ms); in send_common_reply()
3773 ms->m_result = cpu_to_le32(to_dlm_errno(rv)); in send_common_reply()
3775 error = send_message(mh, ms, r->res_name, r->res_length); in send_common_reply()
3805 struct dlm_message *ms; in send_lookup_reply() local
3809 error = create_message(r, NULL, nodeid, DLM_MSG_LOOKUP_REPLY, &ms, &mh); in send_lookup_reply()
3813 ms->m_lkid = ms_in->m_lkid; in send_lookup_reply()
3814 ms->m_result = cpu_to_le32(to_dlm_errno(rv)); in send_lookup_reply()
3815 ms->m_nodeid = cpu_to_le32(ret_nodeid); in send_lookup_reply()
3817 error = send_message(mh, ms, ms_in->m_extra, receive_extralen(ms_in)); in send_lookup_reply()
3826 static void receive_flags(struct dlm_lkb *lkb, const struct dlm_message *ms) in receive_flags() argument
3828 lkb->lkb_exflags = le32_to_cpu(ms->m_exflags); in receive_flags()
3829 dlm_set_sbflags_val(lkb, le32_to_cpu(ms->m_sbflags)); in receive_flags()
3830 dlm_set_dflags_val(lkb, le32_to_cpu(ms->m_flags)); in receive_flags()
3834 const struct dlm_message *ms, in receive_flags_reply() argument
3840 dlm_set_sbflags_val(lkb, le32_to_cpu(ms->m_sbflags)); in receive_flags_reply()
3841 dlm_set_dflags_val(lkb, le32_to_cpu(ms->m_flags)); in receive_flags_reply()
3844 static int receive_extralen(const struct dlm_message *ms) in receive_extralen() argument
3846 return (le16_to_cpu(ms->m_header.h_length) - in receive_extralen()
3851 const struct dlm_message *ms) in receive_lvb() argument
3860 len = receive_extralen(ms); in receive_lvb()
3863 memcpy(lkb->lkb_lvbptr, ms->m_extra, len); in receive_lvb()
3879 const struct dlm_message *ms) in receive_request_args() argument
3881 lkb->lkb_nodeid = le32_to_cpu(ms->m_header.h_nodeid); in receive_request_args()
3882 lkb->lkb_ownpid = le32_to_cpu(ms->m_pid); in receive_request_args()
3883 lkb->lkb_remid = le32_to_cpu(ms->m_lkid); in receive_request_args()
3885 lkb->lkb_rqmode = le32_to_cpu(ms->m_rqmode); in receive_request_args()
3887 lkb->lkb_bastfn = (ms->m_asts & cpu_to_le32(DLM_CB_BAST)) ? &fake_bastfn : NULL; in receive_request_args()
3888 lkb->lkb_astfn = (ms->m_asts & cpu_to_le32(DLM_CB_CAST)) ? &fake_astfn : NULL; in receive_request_args()
3901 const struct dlm_message *ms) in receive_convert_args() argument
3906 if (receive_lvb(ls, lkb, ms)) in receive_convert_args()
3909 lkb->lkb_rqmode = le32_to_cpu(ms->m_rqmode); in receive_convert_args()
3910 lkb->lkb_lvbseq = le32_to_cpu(ms->m_lvbseq); in receive_convert_args()
3916 const struct dlm_message *ms) in receive_unlock_args() argument
3918 if (receive_lvb(ls, lkb, ms)) in receive_unlock_args()
3926 static void setup_local_lkb(struct dlm_ls *ls, const struct dlm_message *ms) in setup_local_lkb() argument
3929 lkb->lkb_nodeid = le32_to_cpu(ms->m_header.h_nodeid); in setup_local_lkb()
3930 lkb->lkb_remid = le32_to_cpu(ms->m_lkid); in setup_local_lkb()
3936 static int validate_message(struct dlm_lkb *lkb, const struct dlm_message *ms) in validate_message() argument
3938 int from = le32_to_cpu(ms->m_header.h_nodeid); in validate_message()
3942 if (ms->m_flags & cpu_to_le32(BIT(DLM_DFL_USER_BIT)) && in validate_message()
3950 switch (ms->m_type) { in validate_message()
3970 else if (lkb->lkb_nodeid != -1 && lkb->lkb_nodeid != from) in validate_message()
3982 le32_to_cpu(ms->m_type), from, lkb->lkb_id, in validate_message()
3988 static int receive_request(struct dlm_ls *ls, const struct dlm_message *ms) in receive_request() argument
3995 from_nodeid = le32_to_cpu(ms->m_header.h_nodeid); in receive_request()
4001 receive_flags(lkb, ms); in receive_request()
4003 error = receive_request_args(ls, lkb, ms); in receive_request()
4015 namelen = receive_extralen(ms); in receive_request()
4017 error = find_rsb(ls, ms->m_extra, namelen, from_nodeid, in receive_request()
4059 le32_to_cpu(ms->m_lkid), from_nodeid, error); in receive_request()
4062 setup_local_lkb(ls, ms); in receive_request()
4067 static int receive_convert(struct dlm_ls *ls, const struct dlm_message *ms) in receive_convert() argument
4071 int error, reply = 1; in receive_convert()
4073 error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); in receive_convert()
4077 if (lkb->lkb_remid != le32_to_cpu(ms->m_lkid)) { in receive_convert()
4081 le32_to_cpu(ms->m_header.h_nodeid), in receive_convert()
4082 le32_to_cpu(ms->m_lkid)); in receive_convert()
4093 error = validate_message(lkb, ms); in receive_convert()
4097 receive_flags(lkb, ms); in receive_convert()
4099 error = receive_convert_args(ls, lkb, ms); in receive_convert()
4118 setup_local_lkb(ls, ms); in receive_convert()
4123 static int receive_unlock(struct dlm_ls *ls, const struct dlm_message *ms) in receive_unlock() argument
4129 error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); in receive_unlock()
4133 if (lkb->lkb_remid != le32_to_cpu(ms->m_lkid)) { in receive_unlock()
4136 le32_to_cpu(ms->m_header.h_nodeid), in receive_unlock()
4137 le32_to_cpu(ms->m_lkid)); in receive_unlock()
4148 error = validate_message(lkb, ms); in receive_unlock()
4152 receive_flags(lkb, ms); in receive_unlock()
4154 error = receive_unlock_args(ls, lkb, ms); in receive_unlock()
4170 setup_local_lkb(ls, ms); in receive_unlock()
4175 static int receive_cancel(struct dlm_ls *ls, const struct dlm_message *ms) in receive_cancel() argument
4181 error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); in receive_cancel()
4185 receive_flags(lkb, ms); in receive_cancel()
4192 error = validate_message(lkb, ms); in receive_cancel()
4206 setup_local_lkb(ls, ms); in receive_cancel()
4211 static int receive_grant(struct dlm_ls *ls, const struct dlm_message *ms) in receive_grant() argument
4217 error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); in receive_grant()
4226 error = validate_message(lkb, ms); in receive_grant()
4230 receive_flags_reply(lkb, ms, false); in receive_grant()
4232 munge_altmode(lkb, ms); in receive_grant()
4233 grant_lock_pc(r, lkb, ms); in receive_grant()
4242 static int receive_bast(struct dlm_ls *ls, const struct dlm_message *ms) in receive_bast() argument
4248 error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); in receive_bast()
4257 error = validate_message(lkb, ms); in receive_bast()
4261 queue_bast(r, lkb, le32_to_cpu(ms->m_bastmode)); in receive_bast()
4262 lkb->lkb_highbast = le32_to_cpu(ms->m_bastmode); in receive_bast()
4270 static void receive_lookup(struct dlm_ls *ls, const struct dlm_message *ms) in receive_lookup() argument
4274 from_nodeid = le32_to_cpu(ms->m_header.h_nodeid); in receive_lookup()
4277 len = receive_extralen(ms); in receive_lookup()
4279 error = dlm_master_lookup(ls, from_nodeid, ms->m_extra, len, 0, in receive_lookup()
4284 receive_request(ls, ms); in receive_lookup()
4287 send_lookup_reply(ls, ms, ret_nodeid, error); in receive_lookup()
4290 static void receive_remove(struct dlm_ls *ls, const struct dlm_message *ms) in receive_remove() argument
4292 char name[DLM_RESNAME_MAXLEN+1]; in receive_remove()
4296 from_nodeid = le32_to_cpu(ms->m_header.h_nodeid); in receive_remove()
4298 len = receive_extralen(ms); in receive_remove()
4306 dir_nodeid = dlm_hash2nodeid(ls, le32_to_cpu(ms->m_hash)); in receive_remove()
4325 memcpy(name, ms->m_extra, len); in receive_remove()
4385 static void receive_purge(struct dlm_ls *ls, const struct dlm_message *ms) in receive_purge() argument
4387 do_purge(ls, le32_to_cpu(ms->m_nodeid), le32_to_cpu(ms->m_pid)); in receive_purge()
4391 const struct dlm_message *ms) in receive_request_reply() argument
4396 int from_nodeid = le32_to_cpu(ms->m_header.h_nodeid); in receive_request_reply()
4398 error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); in receive_request_reply()
4406 error = validate_message(lkb, ms); in receive_request_reply()
4414 lkb->lkb_id, from_nodeid, le32_to_cpu(ms->m_lkid), in receive_request_reply()
4415 from_dlm_errno(le32_to_cpu(ms->m_result))); in receive_request_reply()
4429 result = from_dlm_errno(le32_to_cpu(ms->m_result)); in receive_request_reply()
4442 receive_flags_reply(lkb, ms, false); in receive_request_reply()
4443 lkb->lkb_remid = le32_to_cpu(ms->m_lkid); in receive_request_reply()
4445 munge_altmode(lkb, ms); in receive_request_reply()
4449 grant_lock_pc(r, lkb, ms); in receive_request_reply()
4467 r->res_nodeid = -1; in receive_request_reply()
4468 lkb->lkb_nodeid = -1; in receive_request_reply()
4513 const struct dlm_message *ms, bool local) in __receive_convert_reply() argument
4516 switch (from_dlm_errno(le32_to_cpu(ms->m_result))) { in __receive_convert_reply()
4523 receive_flags_reply(lkb, ms, local); in __receive_convert_reply()
4530 receive_flags_reply(lkb, ms, local); in __receive_convert_reply()
4539 receive_flags_reply(lkb, ms, local); in __receive_convert_reply()
4542 grant_lock_pc(r, lkb, ms); in __receive_convert_reply()
4548 lkb->lkb_id, le32_to_cpu(ms->m_header.h_nodeid), in __receive_convert_reply()
4549 le32_to_cpu(ms->m_lkid), in __receive_convert_reply()
4550 from_dlm_errno(le32_to_cpu(ms->m_result))); in __receive_convert_reply()
4557 const struct dlm_message *ms, bool local) in _receive_convert_reply() argument
4565 error = validate_message(lkb, ms); in _receive_convert_reply()
4569 error = remove_from_waiters_ms(lkb, ms, local); in _receive_convert_reply()
4573 __receive_convert_reply(r, lkb, ms, local); in _receive_convert_reply()
4580 const struct dlm_message *ms) in receive_convert_reply() argument
4585 error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); in receive_convert_reply()
4589 _receive_convert_reply(lkb, ms, false); in receive_convert_reply()
4595 const struct dlm_message *ms, bool local) in _receive_unlock_reply() argument
4603 error = validate_message(lkb, ms); in _receive_unlock_reply()
4607 error = remove_from_waiters_ms(lkb, ms, local); in _receive_unlock_reply()
4613 switch (from_dlm_errno(le32_to_cpu(ms->m_result))) { in _receive_unlock_reply()
4615 receive_flags_reply(lkb, ms, local); in _receive_unlock_reply()
4623 lkb->lkb_id, from_dlm_errno(le32_to_cpu(ms->m_result))); in _receive_unlock_reply()
4631 const struct dlm_message *ms) in receive_unlock_reply() argument
4636 error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); in receive_unlock_reply()
4640 _receive_unlock_reply(lkb, ms, false); in receive_unlock_reply()
4646 const struct dlm_message *ms, bool local) in _receive_cancel_reply() argument
4654 error = validate_message(lkb, ms); in _receive_cancel_reply()
4658 error = remove_from_waiters_ms(lkb, ms, local); in _receive_cancel_reply()
4664 switch (from_dlm_errno(le32_to_cpu(ms->m_result))) { in _receive_cancel_reply()
4666 receive_flags_reply(lkb, ms, local); in _receive_cancel_reply()
4675 from_dlm_errno(le32_to_cpu(ms->m_result))); in _receive_cancel_reply()
4683 const struct dlm_message *ms) in receive_cancel_reply() argument
4688 error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); in receive_cancel_reply()
4692 _receive_cancel_reply(lkb, ms, false); in receive_cancel_reply()
4698 const struct dlm_message *ms) in receive_lookup_reply() argument
4705 error = find_lkb(ls, le32_to_cpu(ms->m_lkid), &lkb); in receive_lookup_reply()
4708 le32_to_cpu(ms->m_lkid)); in receive_lookup_reply()
4712 /* ms->m_result is the value returned by dlm_master_lookup on dir node in receive_lookup_reply()
4723 ret_nodeid = le32_to_cpu(ms->m_nodeid); in receive_lookup_reply()
4735 lkb->lkb_id, le32_to_cpu(ms->m_header.h_nodeid), in receive_lookup_reply()
4743 do_lookup_list = 1; in receive_lookup_reply()
4745 } else if (ret_nodeid == -1) { in receive_lookup_reply()
4748 lkb->lkb_id, le32_to_cpu(ms->m_header.h_nodeid)); in receive_lookup_reply()
4750 r->res_nodeid = -1; in receive_lookup_reply()
4751 lkb->lkb_nodeid = -1; in receive_lookup_reply()
4777 static void _receive_message(struct dlm_ls *ls, const struct dlm_message *ms, in _receive_message() argument
4782 if (WARN_ON_ONCE(!dlm_is_member(ls, le32_to_cpu(ms->m_header.h_nodeid)))) { in _receive_message()
4784 le32_to_cpu(ms->m_type), in _receive_message()
4785 le32_to_cpu(ms->m_header.h_nodeid), in _receive_message()
4786 le32_to_cpu(ms->m_lkid), le32_to_cpu(ms->m_remid), in _receive_message()
4787 from_dlm_errno(le32_to_cpu(ms->m_result))); in _receive_message()
4791 switch (ms->m_type) { in _receive_message()
4796 error = receive_request(ls, ms); in _receive_message()
4800 error = receive_convert(ls, ms); in _receive_message()
4804 error = receive_unlock(ls, ms); in _receive_message()
4808 noent = 1; in _receive_message()
4809 error = receive_cancel(ls, ms); in _receive_message()
4815 error = receive_request_reply(ls, ms); in _receive_message()
4819 error = receive_convert_reply(ls, ms); in _receive_message()
4823 error = receive_unlock_reply(ls, ms); in _receive_message()
4827 error = receive_cancel_reply(ls, ms); in _receive_message()
4833 noent = 1; in _receive_message()
4834 error = receive_grant(ls, ms); in _receive_message()
4838 noent = 1; in _receive_message()
4839 error = receive_bast(ls, ms); in _receive_message()
4845 receive_lookup(ls, ms); in _receive_message()
4849 receive_remove(ls, ms); in _receive_message()
4855 receive_lookup_reply(ls, ms); in _receive_message()
4861 receive_purge(ls, ms); in _receive_message()
4866 le32_to_cpu(ms->m_type)); in _receive_message()
4882 le32_to_cpu(ms->m_type), le32_to_cpu(ms->m_remid), in _receive_message()
4883 le32_to_cpu(ms->m_header.h_nodeid), in _receive_message()
4884 le32_to_cpu(ms->m_lkid), saved_seq); in _receive_message()
4887 le32_to_cpu(ms->m_type), le32_to_cpu(ms->m_remid), in _receive_message()
4888 le32_to_cpu(ms->m_header.h_nodeid), in _receive_message()
4889 le32_to_cpu(ms->m_lkid), saved_seq); in _receive_message()
4891 if (ms->m_type == cpu_to_le32(DLM_MSG_CONVERT)) in _receive_message()
4892 dlm_dump_rsb_hash(ls, le32_to_cpu(ms->m_hash)); in _receive_message()
4898 le32_to_cpu(ms->m_type), in _receive_message()
4899 le32_to_cpu(ms->m_header.h_nodeid), in _receive_message()
4900 le32_to_cpu(ms->m_lkid), le32_to_cpu(ms->m_remid), in _receive_message()
4913 static void dlm_receive_message(struct dlm_ls *ls, const struct dlm_message *ms, in dlm_receive_message() argument
4925 le32_to_cpu(ms->m_type), nodeid); in dlm_receive_message()
4937 dlm_add_requestqueue(ls, nodeid, ms); in dlm_receive_message()
4940 _receive_message(ls, ms, 0); in dlm_receive_message()
4948 void dlm_receive_message_saved(struct dlm_ls *ls, const struct dlm_message *ms, in dlm_receive_message_saved() argument
4951 _receive_message(ls, ms, saved_seq); in dlm_receive_message_saved()
5048 return 1; in waiter_needs_recovery()
5051 return 1; in waiter_needs_recovery()
5197 * . lkb ref count decremented for each waiters_count (almost always 1,
5218 while (1) { in dlm_recover_waiters_post()
5269 * wait_count will almost always be 1, but in case of an in dlm_recover_waiters_post()
5308 err = 1; in dlm_recover_waiters_post()
5315 if (r->res_nodeid != -1 && is_master(r)) in dlm_recover_waiters_post()
5322 err = 1; in dlm_recover_waiters_post()
5428 if (r->res_nodeid != -1 && is_master(r)) { in dlm_recover_purge()
5490 while (1) { in dlm_recover_grant()
5895 found_other_mode = 1; in dlm_user_adopt_orphan()
6154 1) references lkb->ua which we free here and 2) adds lkbs to proc->asts,
6170 while (1) { in dlm_clear_proc_locks()
6209 while (1) { in purge_proc_locks()
6262 struct dlm_message *ms; in send_purge() local
6267 DLM_MSG_PURGE, &ms, &mh); in send_purge()
6270 ms->m_nodeid = cpu_to_le32(nodeid); in send_purge()
6271 ms->m_pid = cpu_to_le32(pid); in send_purge()
6273 return send_message(mh, ms, NULL, 0); in send_purge()
6311 error = _create_lkb(ls, &lkb, lkb_id, lkb_id + 1); in dlm_debug_add_lkb()