Home
last modified time | relevance | path

Searched refs:dlm (Results 1 – 22 of 22) sorted by relevance

/fs/ocfs2/dlm/
Ddlmdomain.c145 static void dlm_unregister_domain_handlers(struct dlm_ctxt *dlm);
147 void __dlm_unhash_lockres(struct dlm_ctxt *dlm, struct dlm_lock_resource *res) in __dlm_unhash_lockres() argument
152 mlog(0, "%s: Unhash res %.*s\n", dlm->name, res->lockname.len, in __dlm_unhash_lockres()
158 void __dlm_insert_lockres(struct dlm_ctxt *dlm, struct dlm_lock_resource *res) in __dlm_insert_lockres() argument
162 assert_spin_locked(&dlm->spinlock); in __dlm_insert_lockres()
164 bucket = dlm_lockres_hash(dlm, res->lockname.hash); in __dlm_insert_lockres()
171 mlog(0, "%s: Hash res %.*s\n", dlm->name, res->lockname.len, in __dlm_insert_lockres()
175 struct dlm_lock_resource * __dlm_lookup_lockres_full(struct dlm_ctxt *dlm, in __dlm_lookup_lockres_full() argument
185 assert_spin_locked(&dlm->spinlock); in __dlm_lookup_lockres_full()
187 bucket = dlm_lockres_hash(dlm, hash); in __dlm_lookup_lockres_full()
[all …]
Ddlmrecovery.c40 static void dlm_do_local_recovery_cleanup(struct dlm_ctxt *dlm, u8 dead_node);
43 static int dlm_do_recovery(struct dlm_ctxt *dlm);
45 static int dlm_pick_recovery_master(struct dlm_ctxt *dlm);
46 static int dlm_remaster_locks(struct dlm_ctxt *dlm, u8 dead_node);
47 static int dlm_init_recovery_area(struct dlm_ctxt *dlm, u8 dead_node);
48 static int dlm_request_all_locks(struct dlm_ctxt *dlm,
50 static void dlm_destroy_recovery_area(struct dlm_ctxt *dlm);
57 static int dlm_send_mig_lockres_msg(struct dlm_ctxt *dlm,
62 static int dlm_process_recovery_data(struct dlm_ctxt *dlm,
65 static int dlm_send_finalize_reco_message(struct dlm_ctxt *dlm);
[all …]
Ddlmmaster.c40 static void dlm_mle_node_down(struct dlm_ctxt *dlm,
44 static void dlm_mle_node_up(struct dlm_ctxt *dlm,
50 static int dlm_do_assert_master(struct dlm_ctxt *dlm,
55 static inline int dlm_mle_equal(struct dlm_ctxt *dlm, in dlm_mle_equal() argument
60 if (dlm != mle->dlm) in dlm_mle_equal()
77 struct dlm_ctxt *dlm,
83 static int dlm_find_mle(struct dlm_ctxt *dlm,
91 static int dlm_wait_for_lock_mastery(struct dlm_ctxt *dlm,
95 static int dlm_restart_lock_mastery(struct dlm_ctxt *dlm,
99 static int dlm_add_migration_mle(struct dlm_ctxt *dlm,
[all …]
Ddlmthread.c40 static void dlm_flush_asts(struct dlm_ctxt *dlm);
42 #define dlm_lock_is_remote(dlm, lock) ((lock)->ml.node != (dlm)->node_num) argument
110 void __dlm_lockres_calc_usage(struct dlm_ctxt *dlm, in __dlm_lockres_calc_usage() argument
113 assert_spin_locked(&dlm->spinlock); in __dlm_lockres_calc_usage()
119 dlm->name, res->lockname.len, res->lockname.name); in __dlm_lockres_calc_usage()
123 list_add_tail(&res->purge, &dlm->purge_list); in __dlm_lockres_calc_usage()
124 dlm->purge_count++; in __dlm_lockres_calc_usage()
128 dlm->name, res->lockname.len, res->lockname.name); in __dlm_lockres_calc_usage()
132 dlm->purge_count--; in __dlm_lockres_calc_usage()
136 void dlm_lockres_calc_usage(struct dlm_ctxt *dlm, in dlm_lockres_calc_usage() argument
[all …]
Ddlmast.c36 static void dlm_update_lvb(struct dlm_ctxt *dlm, struct dlm_lock_resource *res,
38 static int dlm_should_cancel_bast(struct dlm_ctxt *dlm, struct dlm_lock *lock);
49 static int dlm_should_cancel_bast(struct dlm_ctxt *dlm, struct dlm_lock *lock) in dlm_should_cancel_bast() argument
51 assert_spin_locked(&dlm->ast_lock); in dlm_should_cancel_bast()
76 void __dlm_queue_ast(struct dlm_ctxt *dlm, struct dlm_lock *lock) in __dlm_queue_ast() argument
80 BUG_ON(!dlm); in __dlm_queue_ast()
85 assert_spin_locked(&dlm->ast_lock); in __dlm_queue_ast()
90 dlm->name, res->lockname.len, res->lockname.name, in __dlm_queue_ast()
98 dlm->name, res->lockname.len, res->lockname.name, in __dlm_queue_ast()
107 if (dlm_should_cancel_bast(dlm, lock)) { in __dlm_queue_ast()
[all …]
Ddlmcommon.h47 struct dlm_ctxt *dlm; member
175 static inline struct hlist_head *dlm_lockres_hash(struct dlm_ctxt *dlm, unsigned i) in dlm_lockres_hash() argument
177 return dlm->lockres_hash[(i / DLM_BUCKETS_PER_PAGE) % DLM_HASH_PAGES] + (i % DLM_BUCKETS_PER_PAGE); in dlm_lockres_hash()
180 static inline struct hlist_head *dlm_master_hash(struct dlm_ctxt *dlm, in dlm_master_hash() argument
183 return dlm->master_hash[(i / DLM_BUCKETS_PER_PAGE) % DLM_HASH_PAGES] + in dlm_master_hash()
229 struct dlm_ctxt *dlm; member
239 static inline void dlm_init_work_item(struct dlm_ctxt *dlm, in dlm_init_work_item() argument
247 i->dlm = dlm; /* must have already done a dlm_grab on this! */ in dlm_init_work_item()
252 static inline void __dlm_set_joining_node(struct dlm_ctxt *dlm, in __dlm_set_joining_node() argument
255 assert_spin_locked(&dlm->spinlock); in __dlm_set_joining_node()
[all …]
Ddlmdebug.c350 static int debug_purgelist_print(struct dlm_ctxt *dlm, char *buf, int len) in debug_purgelist_print() argument
357 "Dumping Purgelist for Domain: %s\n", dlm->name); in debug_purgelist_print()
359 spin_lock(&dlm->spinlock); in debug_purgelist_print()
360 list_for_each_entry(res, &dlm->purge_list, purge) { in debug_purgelist_print()
372 spin_unlock(&dlm->spinlock); in debug_purgelist_print()
381 struct dlm_ctxt *dlm = inode->i_private; in debug_purgelist_open() local
388 i_size_write(inode, debug_purgelist_print(dlm, buf, PAGE_SIZE - 1)); in debug_purgelist_open()
406 static int debug_mle_print(struct dlm_ctxt *dlm, char *buf, int len) in debug_mle_print() argument
414 "Dumping MLEs for Domain: %s\n", dlm->name); in debug_mle_print()
416 spin_lock(&dlm->master_lock); in debug_mle_print()
[all …]
Ddlmunlock.c43 static enum dlm_status dlm_get_cancel_actions(struct dlm_ctxt *dlm,
48 static enum dlm_status dlm_get_unlock_actions(struct dlm_ctxt *dlm,
54 static enum dlm_status dlm_send_remote_unlock_request(struct dlm_ctxt *dlm,
83 static enum dlm_status dlmunlock_common(struct dlm_ctxt *dlm, in dlmunlock_common() argument
100 BUG_ON(res->owner != dlm->node_num); in dlmunlock_common()
102 BUG_ON(res->owner == dlm->node_num); in dlmunlock_common()
104 spin_lock(&dlm->ast_lock); in dlmunlock_common()
108 spin_unlock(&dlm->ast_lock); in dlmunlock_common()
142 status = dlm_get_cancel_actions(dlm, res, lock, lksb, &actions); in dlmunlock_common()
144 status = dlm_get_unlock_actions(dlm, res, lock, lksb, &actions); in dlmunlock_common()
[all …]
Ddlmlock.c45 static enum dlm_status dlm_send_remote_lock_request(struct dlm_ctxt *dlm,
103 static enum dlm_status dlmlock_master(struct dlm_ctxt *dlm, in dlmlock_master() argument
117 lock->ml.node != dlm->node_num) { in dlmlock_master()
145 "node %u for reco lock\n", dlm->name, in dlmlock_master()
156 "node %u for reco lock\n", dlm->name, in dlmlock_master()
172 dlm_queue_ast(dlm, lock); in dlmlock_master()
174 dlm_lockres_release_ast(dlm, res); in dlmlock_master()
176 dlm_lockres_calc_usage(dlm, res); in dlmlock_master()
178 dlm_kick_thread(dlm, res); in dlmlock_master()
199 static enum dlm_status dlmlock_remote(struct dlm_ctxt *dlm, in dlmlock_remote() argument
[all …]
Ddlmconvert.c43 static enum dlm_status __dlmconvert_master(struct dlm_ctxt *dlm,
48 static enum dlm_status dlm_send_remote_convert_request(struct dlm_ctxt *dlm,
61 enum dlm_status dlmconvert_master(struct dlm_ctxt *dlm, in dlmconvert_master() argument
74 status = __dlmconvert_master(dlm, res, lock, flags, type, in dlmconvert_master()
85 dlm_queue_ast(dlm, lock); in dlmconvert_master()
87 dlm_lockres_release_ast(dlm, res); in dlmconvert_master()
90 dlm_kick_thread(dlm, res); in dlmconvert_master()
104 static enum dlm_status __dlmconvert_master(struct dlm_ctxt *dlm, in __dlmconvert_master() argument
194 if (lock->ml.node == dlm->node_num) in __dlmconvert_master()
251 enum dlm_status dlmconvert_remote(struct dlm_ctxt *dlm, in dlmconvert_remote() argument
[all …]
Ddlmdebug.h24 void dlm_debug_init(struct dlm_ctxt *dlm);
26 void dlm_create_debugfs_subroot(struct dlm_ctxt *dlm);
27 void dlm_destroy_debugfs_subroot(struct dlm_ctxt *dlm);
34 static inline void dlm_debug_init(struct dlm_ctxt *dlm) in dlm_debug_init() argument
37 static inline void dlm_create_debugfs_subroot(struct dlm_ctxt *dlm) in dlm_create_debugfs_subroot() argument
40 static inline void dlm_destroy_debugfs_subroot(struct dlm_ctxt *dlm) in dlm_destroy_debugfs_subroot() argument
Ddlmdomain.h16 static inline int dlm_joined(struct dlm_ctxt *dlm) in dlm_joined() argument
21 if (dlm->dlm_state == DLM_CTXT_JOINED) in dlm_joined()
28 static inline int dlm_shutting_down(struct dlm_ctxt *dlm) in dlm_shutting_down() argument
33 if (dlm->dlm_state == DLM_CTXT_IN_SHUTDOWN) in dlm_shutting_down()
40 void dlm_fire_domain_eviction_callbacks(struct dlm_ctxt *dlm,
Ddlmapi.h165 enum dlm_status dlmlock(struct dlm_ctxt *dlm,
175 enum dlm_status dlmunlock(struct dlm_ctxt *dlm,
188 void dlm_unregister_domain(struct dlm_ctxt *dlm);
201 void dlm_register_eviction_cb(struct dlm_ctxt *dlm,
Ddlmconvert.h13 enum dlm_status dlmconvert_master(struct dlm_ctxt *dlm,
16 enum dlm_status dlmconvert_remote(struct dlm_ctxt *dlm,
/fs/ocfs2/
Dstack_o2cb.c324 struct dlm_ctxt *dlm; in o2cb_cluster_connect() local
357 dlm = dlm_register_domain(conn->cc_name, dlm_key, &fs_version); in o2cb_cluster_connect()
358 if (IS_ERR(dlm)) { in o2cb_cluster_connect()
359 rc = PTR_ERR(dlm); in o2cb_cluster_connect()
366 conn->cc_lockspace = dlm; in o2cb_cluster_connect()
368 dlm_register_eviction_cb(dlm, &priv->op_eviction_cb); in o2cb_cluster_connect()
380 struct dlm_ctxt *dlm = conn->cc_lockspace; in o2cb_cluster_disconnect() local
387 dlm_unregister_domain(dlm); in o2cb_cluster_disconnect()
DMakefile53 obj-$(CONFIG_OCFS2_FS_O2CB) += dlm/
DKconfig46 in conjunction with the DLM in fs/dlm. If you are using a
/fs/dlm/
DMakefile2 obj-$(CONFIG_DLM) += dlm.o
3 dlm-y := ast.o \
21 dlm-$(CONFIG_DLM_DEBUG) += debug_fs.o
DKconfig16 appear as a file in the "dlm" directory. The output is the
Dlockspace.c161 ATTRIBUTE_GROUPS(dlm);
/fs/
DMakefile69 obj-$(CONFIG_DLM) += dlm/
DKconfig323 source "fs/dlm/Kconfig"