void dlm_do_local_ast(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, struct dlm_lock *lock) { dlm_astlockfunc_t *fn; struct dlm_lockstatus *lksb; mlog_entry_void(); lksb = lock->lksb; fn = lock->ast; BUG_ON(lock->ml.node != dlm->node_num); dlm_update_lvb(dlm, res, lock); (*fn)(lock->astdata); }
void dlm_do_local_ast(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, struct dlm_lock *lock) { dlm_astlockfunc_t *fn; struct dlm_lockstatus *lksb; mlog(0, "%s: res %.*s, lock %u:%llu, Local AST\n", dlm->name, res->lockname.len, res->lockname.name, dlm_get_lock_cookie_node(be64_to_cpu(lock->ml.cookie)), dlm_get_lock_cookie_seq(be64_to_cpu(lock->ml.cookie))); lksb = lock->lksb; fn = lock->ast; BUG_ON(lock->ml.node != dlm->node_num); dlm_update_lvb(dlm, res, lock); (*fn)(lock->astdata); }
int dlm_do_remote_ast(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, struct dlm_lock *lock) { int ret; struct dlm_lockstatus *lksb; int lksbflags; mlog_entry_void(); lksb = lock->lksb; BUG_ON(lock->ml.node == dlm->node_num); lksbflags = lksb->flags; dlm_update_lvb(dlm, res, lock); /* lock request came from another node * go do the ast over there */ ret = dlm_send_proxy_ast(dlm, res, lock, lksbflags); return ret; }
int dlm_do_remote_ast(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, struct dlm_lock *lock) { int ret; struct dlm_lockstatus *lksb; int lksbflags; mlog(0, "%s: res %.*s, lock %u:%llu, Remote AST\n", dlm->name, res->lockname.len, res->lockname.name, dlm_get_lock_cookie_node(be64_to_cpu(lock->ml.cookie)), dlm_get_lock_cookie_seq(be64_to_cpu(lock->ml.cookie))); lksb = lock->lksb; BUG_ON(lock->ml.node == dlm->node_num); lksbflags = lksb->flags; dlm_update_lvb(dlm, res, lock); /* lock request came from another node * go do the ast over there */ ret = dlm_send_proxy_ast(dlm, res, lock, lksbflags); return ret; }