Home
last modified time | relevance | path

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

/fs/ocfs2/dlm/
Ddlmdomain.c151 static void dlm_unregister_domain_handlers(struct dlm_ctxt *dlm);
161 void __dlm_insert_lockres(struct dlm_ctxt *dlm, in __dlm_insert_lockres() argument
167 assert_spin_locked(&dlm->spinlock); in __dlm_insert_lockres()
170 bucket = dlm_lockres_hash(dlm, q->hash); in __dlm_insert_lockres()
178 struct dlm_lock_resource * __dlm_lookup_lockres_full(struct dlm_ctxt *dlm, in __dlm_lookup_lockres_full() argument
188 assert_spin_locked(&dlm->spinlock); in __dlm_lookup_lockres_full()
190 bucket = dlm_lockres_hash(dlm, hash); in __dlm_lookup_lockres_full()
213 struct dlm_lock_resource * __dlm_lookup_lockres(struct dlm_ctxt *dlm, in __dlm_lookup_lockres() argument
222 assert_spin_locked(&dlm->spinlock); in __dlm_lookup_lockres()
224 res = __dlm_lookup_lockres_full(dlm, name, len, hash); in __dlm_lookup_lockres()
[all …]
Ddlmrecovery.c56 static void dlm_do_local_recovery_cleanup(struct dlm_ctxt *dlm, u8 dead_node);
59 void dlm_complete_recovery_thread(struct dlm_ctxt *dlm);
60 int dlm_launch_recovery_thread(struct dlm_ctxt *dlm);
61 void dlm_kick_recovery_thread(struct dlm_ctxt *dlm);
62 static int dlm_do_recovery(struct dlm_ctxt *dlm);
64 static int dlm_pick_recovery_master(struct dlm_ctxt *dlm);
65 static int dlm_remaster_locks(struct dlm_ctxt *dlm, u8 dead_node);
66 static int dlm_init_recovery_area(struct dlm_ctxt *dlm, u8 dead_node);
67 static int dlm_request_all_locks(struct dlm_ctxt *dlm,
69 static void dlm_destroy_recovery_area(struct dlm_ctxt *dlm, u8 dead_node);
[all …]
Ddlmmaster.c56 static void dlm_mle_node_down(struct dlm_ctxt *dlm,
60 static void dlm_mle_node_up(struct dlm_ctxt *dlm,
66 static int dlm_do_assert_master(struct dlm_ctxt *dlm,
71 static inline int dlm_mle_equal(struct dlm_ctxt *dlm, in dlm_mle_equal() argument
78 if (dlm != mle->dlm) in dlm_mle_equal()
102 struct dlm_ctxt *dlm,
108 static int dlm_find_mle(struct dlm_ctxt *dlm,
116 static int dlm_wait_for_lock_mastery(struct dlm_ctxt *dlm,
120 static int dlm_restart_lock_mastery(struct dlm_ctxt *dlm,
124 static int dlm_add_migration_mle(struct dlm_ctxt *dlm,
[all …]
Ddlmthread.c57 static void dlm_flush_asts(struct dlm_ctxt *dlm);
59 #define dlm_lock_is_remote(dlm, lock) ((lock)->ml.node != (dlm)->node_num) argument
116 void __dlm_lockres_calc_usage(struct dlm_ctxt *dlm, in __dlm_lockres_calc_usage() argument
121 assert_spin_locked(&dlm->spinlock); in __dlm_lockres_calc_usage()
131 list_add_tail(&res->purge, &dlm->purge_list); in __dlm_lockres_calc_usage()
132 dlm->purge_count++; in __dlm_lockres_calc_usage()
140 dlm->purge_count--; in __dlm_lockres_calc_usage()
144 void dlm_lockres_calc_usage(struct dlm_ctxt *dlm, in dlm_lockres_calc_usage() argument
148 spin_lock(&dlm->spinlock); in dlm_lockres_calc_usage()
151 __dlm_lockres_calc_usage(dlm, res); in dlm_lockres_calc_usage()
[all …]
Ddlmast.c53 static void dlm_update_lvb(struct dlm_ctxt *dlm, struct dlm_lock_resource *res,
55 static int dlm_should_cancel_bast(struct dlm_ctxt *dlm, struct dlm_lock *lock);
66 static int dlm_should_cancel_bast(struct dlm_ctxt *dlm, struct dlm_lock *lock) in dlm_should_cancel_bast() argument
68 assert_spin_locked(&dlm->ast_lock); in dlm_should_cancel_bast()
93 static void __dlm_queue_ast(struct dlm_ctxt *dlm, struct dlm_lock *lock) in __dlm_queue_ast() argument
97 BUG_ON(!dlm); in __dlm_queue_ast()
100 assert_spin_locked(&dlm->ast_lock); in __dlm_queue_ast()
115 if (dlm_should_cancel_bast(dlm, lock)) { in __dlm_queue_ast()
118 dlm->name, res->lockname.len, res->lockname.name); in __dlm_queue_ast()
131 dlm_lockres_release_ast(dlm, res); in __dlm_queue_ast()
[all …]
Ddlmdebug.c444 static int debug_purgelist_print(struct dlm_ctxt *dlm, struct debug_buffer *db) in debug_purgelist_print() argument
451 "Dumping Purgelist for Domain: %s\n", dlm->name); in debug_purgelist_print()
453 spin_lock(&dlm->spinlock); in debug_purgelist_print()
454 list_for_each_entry(res, &dlm->purge_list, purge) { in debug_purgelist_print()
466 spin_unlock(&dlm->spinlock); in debug_purgelist_print()
476 struct dlm_ctxt *dlm = inode->i_private; in debug_purgelist_open() local
483 db->len = debug_purgelist_print(dlm, db); in debug_purgelist_open()
501 static int debug_mle_print(struct dlm_ctxt *dlm, struct debug_buffer *db) in debug_mle_print() argument
508 "Dumping MLEs for Domain: %s\n", dlm->name); in debug_mle_print()
510 spin_lock(&dlm->master_lock); in debug_mle_print()
[all …]
Ddlmcommon.h66 struct dlm_ctxt *dlm; member
193 static inline struct hlist_head *dlm_lockres_hash(struct dlm_ctxt *dlm, unsigned i) in dlm_lockres_hash() argument
195 return dlm->lockres_hash[(i / DLM_BUCKETS_PER_PAGE) % DLM_HASH_PAGES] + (i % DLM_BUCKETS_PER_PAGE); in dlm_lockres_hash()
240 struct dlm_ctxt *dlm; member
250 static inline void dlm_init_work_item(struct dlm_ctxt *dlm, in dlm_init_work_item() argument
258 i->dlm = dlm; /* must have already done a dlm_grab on this! */ in dlm_init_work_item()
263 static inline void __dlm_set_joining_node(struct dlm_ctxt *dlm, in __dlm_set_joining_node() argument
266 assert_spin_locked(&dlm->spinlock); in __dlm_set_joining_node()
268 dlm->joining_node = node; in __dlm_set_joining_node()
269 wake_up(&dlm->dlm_join_events); in __dlm_set_joining_node()
[all …]
Ddlmunlock.c60 static enum dlm_status dlm_get_cancel_actions(struct dlm_ctxt *dlm,
65 static enum dlm_status dlm_get_unlock_actions(struct dlm_ctxt *dlm,
71 static enum dlm_status dlm_send_remote_unlock_request(struct dlm_ctxt *dlm,
100 static enum dlm_status dlmunlock_common(struct dlm_ctxt *dlm, in dlmunlock_common() argument
116 BUG_ON(res->owner != dlm->node_num); in dlmunlock_common()
118 BUG_ON(res->owner == dlm->node_num); in dlmunlock_common()
120 spin_lock(&dlm->ast_lock); in dlmunlock_common()
124 spin_unlock(&dlm->ast_lock); in dlmunlock_common()
158 status = dlm_get_cancel_actions(dlm, res, lock, lksb, &actions); in dlmunlock_common()
160 status = dlm_get_unlock_actions(dlm, res, lock, lksb, &actions); in dlmunlock_common()
[all …]
Ddlmlock.c61 static enum dlm_status dlm_send_remote_lock_request(struct dlm_ctxt *dlm,
122 static enum dlm_status dlmlock_master(struct dlm_ctxt *dlm, in dlmlock_master() argument
136 lock->ml.node != dlm->node_num) { in dlmlock_master()
164 "node %u for reco lock\n", dlm->name, in dlmlock_master()
175 "node %u for reco lock\n", dlm->name, in dlmlock_master()
186 if (lock->ml.node == dlm->node_num) in dlmlock_master()
187 dlm_lockres_drop_inflight_ref(dlm, res); in dlmlock_master()
194 dlm_queue_ast(dlm, lock); in dlmlock_master()
196 dlm_lockres_release_ast(dlm, res); in dlmlock_master()
198 dlm_lockres_calc_usage(dlm, res); in dlmlock_master()
[all …]
Ddlmdebug.h52 int dlm_debug_init(struct dlm_ctxt *dlm);
53 void dlm_debug_shutdown(struct dlm_ctxt *dlm);
55 int dlm_create_debugfs_subroot(struct dlm_ctxt *dlm);
56 void dlm_destroy_debugfs_subroot(struct dlm_ctxt *dlm);
63 static inline int dlm_debug_init(struct dlm_ctxt *dlm) in dlm_debug_init() argument
67 static inline void dlm_debug_shutdown(struct dlm_ctxt *dlm) in dlm_debug_shutdown() argument
70 static inline int dlm_create_debugfs_subroot(struct dlm_ctxt *dlm) in dlm_create_debugfs_subroot() argument
74 static inline void dlm_destroy_debugfs_subroot(struct dlm_ctxt *dlm) in dlm_destroy_debugfs_subroot() argument
Ddlmconvert.c60 static enum dlm_status __dlmconvert_master(struct dlm_ctxt *dlm,
65 static enum dlm_status dlm_send_remote_convert_request(struct dlm_ctxt *dlm,
78 enum dlm_status dlmconvert_master(struct dlm_ctxt *dlm, in dlmconvert_master() argument
91 status = __dlmconvert_master(dlm, res, lock, flags, type, in dlmconvert_master()
102 dlm_queue_ast(dlm, lock); in dlmconvert_master()
104 dlm_lockres_release_ast(dlm, res); in dlmconvert_master()
107 dlm_kick_thread(dlm, res); in dlmconvert_master()
121 static enum dlm_status __dlmconvert_master(struct dlm_ctxt *dlm, in __dlmconvert_master() argument
214 if (lock->ml.node == dlm->node_num) in __dlmconvert_master()
265 enum dlm_status dlmconvert_remote(struct dlm_ctxt *dlm, in dlmconvert_remote() argument
[all …]
Duserdlm.c286 struct dlm_ctxt *dlm = dlm_ctxt_from_user_lockres(lockres); in user_dlm_unblock_lock() local
325 status = dlmunlock(dlm, in user_dlm_unblock_lock()
363 status = dlmlock(dlm, in user_dlm_unblock_lock()
413 struct dlm_ctxt *dlm = dlm_ctxt_from_user_lockres(lockres); in user_dlm_cluster_lock() local
472 status = dlmlock(dlm, in user_dlm_cluster_lock()
595 struct dlm_ctxt *dlm = dlm_ctxt_from_user_lockres(lockres); in user_dlm_destroy_lock() local
630 status = dlmunlock(dlm, in user_dlm_destroy_lock()
651 struct dlm_ctxt *dlm; in user_dlm_register_context() local
665 dlm = dlm_register_domain(domain, dlm_key, proto); in user_dlm_register_context()
666 if (IS_ERR(dlm)) in user_dlm_register_context()
[all …]
Ddlmdomain.h31 int dlm_joined(struct dlm_ctxt *dlm);
32 int dlm_shutting_down(struct dlm_ctxt *dlm);
33 void dlm_fire_domain_eviction_callbacks(struct dlm_ctxt *dlm,
Ddlmapi.h180 enum dlm_status dlmlock(struct dlm_ctxt *dlm,
190 enum dlm_status dlmunlock(struct dlm_ctxt *dlm,
203 void dlm_unregister_domain(struct dlm_ctxt *dlm);
216 void dlm_register_eviction_cb(struct dlm_ctxt *dlm,
Ddlmconvert.h28 enum dlm_status dlmconvert_master(struct dlm_ctxt *dlm,
31 enum dlm_status dlmconvert_remote(struct dlm_ctxt *dlm,
Ddlmfs.c427 struct dlm_ctxt *dlm; in dlmfs_mkdir() local
448 dlm = user_dlm_register_context(domain, &proto); in dlmfs_mkdir()
449 if (IS_ERR(dlm)) { in dlmfs_mkdir()
450 status = PTR_ERR(dlm); in dlmfs_mkdir()
455 ip->ip_dlm = dlm; in dlmfs_mkdir()
Duserdlm.h88 void user_dlm_unregister_context(struct dlm_ctxt *dlm);
/fs/ocfs2/
Dstack_o2cb.c267 struct dlm_ctxt *dlm; in o2cb_cluster_connect() local
299 dlm = dlm_register_domain(conn->cc_name, dlm_key, &dlm_version); in o2cb_cluster_connect()
300 if (IS_ERR(dlm)) { in o2cb_cluster_connect()
301 rc = PTR_ERR(dlm); in o2cb_cluster_connect()
308 conn->cc_lockspace = dlm; in o2cb_cluster_connect()
310 dlm_register_eviction_cb(dlm, &priv->op_eviction_cb); in o2cb_cluster_connect()
322 struct dlm_ctxt *dlm = conn->cc_lockspace; in o2cb_cluster_disconnect() local
329 dlm_unregister_domain(dlm); in o2cb_cluster_disconnect()
DMakefile53 obj-$(CONFIG_OCFS2_FS_O2CB) += dlm/
DKconfig45 in conjunction with the DLM in fs/dlm. If you are using a
/fs/dlm/
DMakefile1 obj-$(CONFIG_DLM) += dlm.o
2 dlm-y := ast.o \
20 dlm-$(CONFIG_DLM_DEBUG) += debug_fs.o
DKconfig16 appear as a file in the "dlm" directory. The output is the
/fs/gfs2/
DMakefile8 obj-$(CONFIG_GFS2_FS_LOCKING_DLM) += locking/dlm/
/fs/
DMakefile67 obj-$(CONFIG_DLM) += dlm/
DKconfig290 source "fs/dlm/Kconfig"