/fs/ocfs2/dlm/ |
D | dlmdomain.c | 151 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 …]
|
D | dlmrecovery.c | 56 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 …]
|
D | dlmmaster.c | 56 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 …]
|
D | dlmthread.c | 57 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 …]
|
D | dlmast.c | 53 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 …]
|
D | dlmdebug.c | 444 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 …]
|
D | dlmcommon.h | 66 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 …]
|
D | dlmunlock.c | 60 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 …]
|
D | dlmlock.c | 61 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 …]
|
D | dlmdebug.h | 52 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
|
D | dlmconvert.c | 60 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 …]
|
D | userdlm.c | 286 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 …]
|
D | dlmdomain.h | 31 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,
|
D | dlmapi.h | 180 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,
|
D | dlmconvert.h | 28 enum dlm_status dlmconvert_master(struct dlm_ctxt *dlm, 31 enum dlm_status dlmconvert_remote(struct dlm_ctxt *dlm,
|
D | dlmfs.c | 427 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()
|
D | userdlm.h | 88 void user_dlm_unregister_context(struct dlm_ctxt *dlm);
|
/fs/ocfs2/ |
D | stack_o2cb.c | 267 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()
|
D | Makefile | 53 obj-$(CONFIG_OCFS2_FS_O2CB) += dlm/
|
D | Kconfig | 45 in conjunction with the DLM in fs/dlm. If you are using a
|
/fs/dlm/ |
D | Makefile | 1 obj-$(CONFIG_DLM) += dlm.o 2 dlm-y := ast.o \ 20 dlm-$(CONFIG_DLM_DEBUG) += debug_fs.o
|
D | Kconfig | 16 appear as a file in the "dlm" directory. The output is the
|
/fs/gfs2/ |
D | Makefile | 8 obj-$(CONFIG_GFS2_FS_LOCKING_DLM) += locking/dlm/
|
/fs/ |
D | Makefile | 67 obj-$(CONFIG_DLM) += dlm/
|
D | Kconfig | 290 source "fs/dlm/Kconfig"
|