Lines Matching defs:dlm

5  * debug functionality for the dlm
229 * of the format of the lockname that should be outside the purview of the dlm.
230 * We are adding only to make dlm debugging slightly easier.
348 static int debug_purgelist_print(struct dlm_ctxt *dlm, char *buf, int len)
355 "Dumping Purgelist for Domain: %s\n", dlm->name);
357 spin_lock(&dlm->spinlock);
358 list_for_each_entry(res, &dlm->purge_list, purge) {
370 spin_unlock(&dlm->spinlock);
379 struct dlm_ctxt *dlm = inode->i_private;
386 i_size_write(inode, debug_purgelist_print(dlm, buf, PAGE_SIZE - 1));
404 static int debug_mle_print(struct dlm_ctxt *dlm, char *buf, int len)
412 "Dumping MLEs for Domain: %s\n", dlm->name);
414 spin_lock(&dlm->master_lock);
416 bucket = dlm_master_hash(dlm, i);
427 spin_unlock(&dlm->master_lock);
436 struct dlm_ctxt *dlm = inode->i_private;
443 i_size_write(inode, debug_mle_print(dlm, buf, PAGE_SIZE - 1));
542 struct dlm_ctxt *dlm = dl->dl_ctxt;
547 spin_lock(&dlm->track_lock);
551 track_list = &dlm->tracking_list;
554 spin_unlock(&dlm->track_lock);
560 if (&iter->tracking != &dlm->tracking_list) {
566 spin_unlock(&dlm->track_lock);
612 struct dlm_ctxt *dlm = inode->i_private;
627 dlm_grab(dlm);
628 dl->dl_ctxt = dlm;
660 static int debug_state_print(struct dlm_ctxt *dlm, char *buf, int len)
668 spin_lock(&dlm->spinlock);
670 switch (dlm->dlm_state) {
686 dlm->name, dlm->key, dlm->dlm_locking_proto.pv_major,
687 dlm->dlm_locking_proto.pv_minor);
692 task_pid_nr(dlm->dlm_thread_task), dlm->node_num, state);
697 dlm->num_joins, dlm->joining_node);
701 out += stringify_nodemap(dlm->domain_map, O2NM_MAX_NODES,
707 out += stringify_nodemap(dlm->exit_domain_map, O2NM_MAX_NODES,
713 out += stringify_nodemap(dlm->live_nodes_map, O2NM_MAX_NODES,
720 atomic_read(&dlm->res_cur_count),
721 atomic_read(&dlm->res_tot_count));
724 tot_mles += atomic_read(&dlm->mle_tot_count[i]);
727 cur_mles += atomic_read(&dlm->mle_cur_count[i]);
736 atomic_read(&dlm->mle_cur_count[DLM_MLE_BLOCK]),
737 atomic_read(&dlm->mle_tot_count[DLM_MLE_BLOCK]));
742 atomic_read(&dlm->mle_cur_count[DLM_MLE_MASTER]),
743 atomic_read(&dlm->mle_tot_count[DLM_MLE_MASTER]));
748 atomic_read(&dlm->mle_cur_count[DLM_MLE_MIGRATION]),
749 atomic_read(&dlm->mle_tot_count[DLM_MLE_MIGRATION]));
755 (list_empty(&dlm->dirty_list) ? "Empty" : "InUse"),
756 (list_empty(&dlm->purge_list) ? "Empty" : "InUse"),
757 (list_empty(&dlm->pending_asts) ? "Empty" : "InUse"),
758 (list_empty(&dlm->pending_basts) ? "Empty" : "InUse"));
762 "Purge Count: %d Refs: %d\n", dlm->purge_count,
763 kref_read(&dlm->dlm_refs));
767 "Dead Node: %d\n", dlm->reco.dead_node);
770 if (dlm->reco.state == DLM_RECO_STATE_ACTIVE)
778 task_pid_nr(dlm->dlm_reco_thread_task),
779 dlm->reco.new_master, state);
783 out += stringify_nodemap(dlm->recovery_map, O2NM_MAX_NODES,
789 list_for_each_entry(node, &dlm->reco.node_data, list) {
820 spin_unlock(&dlm->spinlock);
827 struct dlm_ctxt *dlm = inode->i_private;
834 i_size_write(inode, debug_state_print(dlm, buf, PAGE_SIZE - 1));
852 void dlm_debug_init(struct dlm_ctxt *dlm)
856 dlm->dlm_debugfs_subroot, dlm, &debug_state_fops);
860 dlm->dlm_debugfs_subroot, dlm, &debug_lockres_fops);
864 dlm->dlm_debugfs_subroot, dlm, &debug_mle_fops);
868 dlm->dlm_debugfs_subroot, dlm,
873 void dlm_create_debugfs_subroot(struct dlm_ctxt *dlm)
875 dlm->dlm_debugfs_subroot = debugfs_create_dir(dlm->name,
879 void dlm_destroy_debugfs_subroot(struct dlm_ctxt *dlm)
881 debugfs_remove_recursive(dlm->dlm_debugfs_subroot);