21 static void dlm_dump_lkb_callbacks(
struct dlm_lkb *lkb)
25 log_print(
"last_bast %x %llu flags %x mode %d sb %d %x",
33 log_print(
"last_cast %x %llu flags %x mode %d sb %d %x",
42 log_print(
"cb %x %llu flags %x mode %d sb %d %x",
77 if ((prev_mode == mode) ||
80 log_debug(ls,
"skip %x add bast %llu mode %d "
81 "for bast %llu mode %d",
83 (
unsigned long long)seq,
85 (
unsigned long long)prev_seq,
101 if (i == DLM_CALLBACKS_SIZE) {
102 log_error(ls,
"no callbacks %x %llu flags %x mode %d sb %d %x",
103 lkb->
lkb_id, (
unsigned long long)seq,
104 flags, mode, status, sbflags);
105 dlm_dump_lkb_callbacks(lkb);
148 log_debug(ls,
"skip %x bast %llu mode %d "
149 "for cast %llu mode %d",
151 (
unsigned long long)cb->
seq,
181 spin_lock(&dlm_cb_seq_spin);
182 new_seq = ++dlm_cb_seq;
183 spin_unlock(&dlm_cb_seq_spin);
216 void (*castfn) (
void *astparam);
217 void (*bastfn) (
void *astparam,
int mode);
221 memset(&callbacks, 0,
sizeof(callbacks));
228 dlm_dump_lkb_callbacks(lkb);
242 dlm_dump_lkb_callbacks(lkb);
250 if (!callbacks[i].
seq)
275 log_print(
"can't start dlm_callback workqueue");
314 log_debug(ls,
"dlm_callback_resume %d", count);