dlm_ls
struct dlm_ls *ls = rsb->res_ls;
struct dlm_ls *ls = rsb->res_ls;
int dlm_callback_start(struct dlm_ls *ls)
void dlm_callback_stop(struct dlm_ls *ls)
void dlm_callback_suspend(struct dlm_ls *ls)
void dlm_callback_resume(struct dlm_ls *ls)
struct dlm_ls *ls = rsb->res_ls;
int dlm_callback_start(struct dlm_ls *ls);
void dlm_callback_stop(struct dlm_ls *ls);
void dlm_callback_suspend(struct dlm_ls *ls);
void dlm_callback_resume(struct dlm_ls *ls);
struct dlm_ls *ls = seq->private;
struct dlm_ls *ls = seq->private;
struct dlm_ls *ls = seq->private;
struct dlm_ls *ls = seq->private;
struct dlm_ls *ls = file->private_data;
struct dlm_ls *ls = file->private_data;
void dlm_delete_debug_file(struct dlm_ls *ls)
void dlm_create_debug_file(struct dlm_ls *ls)
static struct dlm_rsb *find_rsb_root(struct dlm_ls *ls, const char *name,
static void drop_dir_ctx(struct dlm_ls *ls, int nodeid)
static struct dlm_dir_dump *lookup_dir_dump(struct dlm_ls *ls, int nodeid)
static struct dlm_dir_dump *init_dir_dump(struct dlm_ls *ls, int nodeid)
void dlm_copy_master_names(struct dlm_ls *ls, const char *inbuf, int inlen,
int dlm_hash2nodeid(struct dlm_ls *ls, uint32_t hash)
void dlm_recover_dir_nodeid(struct dlm_ls *ls, const struct list_head *root_list)
int dlm_recover_directory(struct dlm_ls *ls, uint64_t seq)
int dlm_hash2nodeid(struct dlm_ls *ls, uint32_t hash);
void dlm_recover_dir_nodeid(struct dlm_ls *ls,
int dlm_recover_directory(struct dlm_ls *ls, uint64_t seq);
void dlm_copy_master_names(struct dlm_ls *ls, const char *inbuf, int inlen,
struct dlm_ls *res_ls; /* the lockspace */
struct dlm_ls;
static inline int dlm_locking_stopped(struct dlm_ls *ls)
static inline int dlm_recovery_stopped(struct dlm_ls *ls)
static inline int dlm_no_directory(struct dlm_ls *ls)
void dlm_create_debug_file(struct dlm_ls *ls);
void dlm_delete_debug_file(struct dlm_ls *ls);
static inline void dlm_create_debug_file(struct dlm_ls *ls) { }
static inline void dlm_delete_debug_file(struct dlm_ls *ls) { }
static int find_rsb(struct dlm_ls *ls, const void *name, int len,
static int validate_master_nodeid(struct dlm_ls *ls, struct dlm_rsb *r,
static void __dlm_master_lookup(struct dlm_ls *ls, struct dlm_rsb *r, int our_nodeid,
static int _dlm_master_lookup(struct dlm_ls *ls, int from_nodeid, const char *name,
int dlm_master_lookup(struct dlm_ls *ls, int from_nodeid, const char *name,
static void dlm_dump_rsb_hash(struct dlm_ls *ls, uint32_t hash)
void dlm_dump_rsb_name(struct dlm_ls *ls, const char *name, int len)
struct dlm_ls *ls = r->res_ls;
static int _create_lkb(struct dlm_ls *ls, struct dlm_lkb **lkb_ret,
static int create_lkb(struct dlm_ls *ls, struct dlm_lkb **lkb_ret)
static int find_lkb(struct dlm_ls *ls, uint32_t lkid, struct dlm_lkb **lkb_ret)
static int __put_lkb(struct dlm_ls *ls, struct dlm_lkb *lkb)
struct dlm_ls *ls;
struct dlm_ls *ls = lkb->lkb_resource->res_ls;
struct dlm_ls *ls = lkb->lkb_resource->res_ls;
struct dlm_ls *ls = lkb->lkb_resource->res_ls;
struct dlm_ls *ls = lkb->lkb_resource->res_ls;
void dlm_lock_recovery(struct dlm_ls *ls)
void dlm_unlock_recovery(struct dlm_ls *ls)
int dlm_lock_recovery_try(struct dlm_ls *ls)
static int validate_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb,
struct dlm_ls *ls = lkb->lkb_resource->res_ls;
static int request_lock(struct dlm_ls *ls, struct dlm_lkb *lkb,
static int convert_lock(struct dlm_ls *ls, struct dlm_lkb *lkb,
static int unlock_lock(struct dlm_ls *ls, struct dlm_lkb *lkb,
static int cancel_lock(struct dlm_ls *ls, struct dlm_lkb *lkb,
struct dlm_ls *ls;
struct dlm_ls *ls;
static int _create_message(struct dlm_ls *ls, int mb_len,
struct dlm_ls *ls = r->res_ls;
static int send_lookup_reply(struct dlm_ls *ls,
static int receive_lvb(struct dlm_ls *ls, struct dlm_lkb *lkb,
static int receive_request_args(struct dlm_ls *ls, struct dlm_lkb *lkb,
static int receive_convert_args(struct dlm_ls *ls, struct dlm_lkb *lkb,
static int receive_unlock_args(struct dlm_ls *ls, struct dlm_lkb *lkb,
static void setup_local_lkb(struct dlm_ls *ls, const struct dlm_message *ms)
static void enable_scan_timer(struct dlm_ls *ls, unsigned long jiffies)
static int receive_request(struct dlm_ls *ls, const struct dlm_message *ms)
void resume_scan_timer(struct dlm_ls *ls)
static int receive_convert(struct dlm_ls *ls, const struct dlm_message *ms)
static int receive_unlock(struct dlm_ls *ls, const struct dlm_message *ms)
static int receive_cancel(struct dlm_ls *ls, const struct dlm_message *ms)
static void del_scan(struct dlm_ls *ls, struct dlm_rsb *r)
static int receive_grant(struct dlm_ls *ls, const struct dlm_message *ms)
static int receive_bast(struct dlm_ls *ls, const struct dlm_message *ms)
static void receive_lookup(struct dlm_ls *ls, const struct dlm_message *ms)
static void receive_remove(struct dlm_ls *ls, const struct dlm_message *ms)
static void receive_purge(struct dlm_ls *ls, const struct dlm_message *ms)
static int receive_request_reply(struct dlm_ls *ls,
static void add_scan(struct dlm_ls *ls, struct dlm_rsb *r)
static int receive_convert_reply(struct dlm_ls *ls,
static int receive_unlock_reply(struct dlm_ls *ls,
static int receive_cancel_reply(struct dlm_ls *ls,
static void receive_lookup_reply(struct dlm_ls *ls,
static void _receive_message(struct dlm_ls *ls, const struct dlm_message *ms,
static void dlm_receive_message(struct dlm_ls *ls, const struct dlm_message *ms,
void dlm_receive_message_saved(struct dlm_ls *ls, const struct dlm_message *ms,
struct dlm_ls *ls;
static void recover_convert_waiter(struct dlm_ls *ls, struct dlm_lkb *lkb,
static int waiter_needs_recovery(struct dlm_ls *ls, struct dlm_lkb *lkb,
void dlm_recover_waiters_pre(struct dlm_ls *ls)
struct dlm_ls *ls = timer_container_of(ls, timer, ls_scan_timer);
static struct dlm_lkb *find_resend_waiter(struct dlm_ls *ls)
int dlm_recover_waiters_post(struct dlm_ls *ls)
static void purge_mstcpy_list(struct dlm_ls *ls, struct dlm_rsb *r,
struct dlm_ls *ls = r->res_ls;
static void purge_dead_list(struct dlm_ls *ls, struct dlm_rsb *r,
void dlm_recover_purge(struct dlm_ls *ls, const struct list_head *root_list)
static struct dlm_rsb *find_grant_rsb(struct dlm_ls *ls)
void dlm_recover_grant(struct dlm_ls *ls)
static int receive_rcom_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb,
int dlm_recover_master_copy(struct dlm_ls *ls, const struct dlm_rcom *rc,
int dlm_recover_process_copy(struct dlm_ls *ls, const struct dlm_rcom *rc,
int dlm_user_request(struct dlm_ls *ls, struct dlm_user_args *ua,
int dlm_user_convert(struct dlm_ls *ls, struct dlm_user_args *ua_tmp,
int dlm_user_adopt_orphan(struct dlm_ls *ls, struct dlm_user_args *ua_tmp,
int dlm_user_unlock(struct dlm_ls *ls, struct dlm_user_args *ua_tmp,
static int get_rsb_struct(struct dlm_ls *ls, const void *name, int len,
int dlm_user_cancel(struct dlm_ls *ls, struct dlm_user_args *ua_tmp,
int dlm_user_deadlock(struct dlm_ls *ls, uint32_t flags, uint32_t lkid)
static int orphan_proc_lock(struct dlm_ls *ls, struct dlm_lkb *lkb)
static int unlock_proc_lock(struct dlm_ls *ls, struct dlm_lkb *lkb)
static struct dlm_lkb *del_proc_lock(struct dlm_ls *ls,
void dlm_clear_proc_locks(struct dlm_ls *ls, struct dlm_user_proc *proc)
static void purge_proc_locks(struct dlm_ls *ls, struct dlm_user_proc *proc)
static void do_purge(struct dlm_ls *ls, int nodeid, int pid)
static int send_purge(struct dlm_ls *ls, int nodeid, int pid)
int dlm_user_purge(struct dlm_ls *ls, struct dlm_user_proc *proc,
int dlm_debug_add_lkb(struct dlm_ls *ls, uint32_t lkb_id, char *name, int len,
int dlm_debug_add_lkb_to_waiters(struct dlm_ls *ls, uint32_t lkb_id,
static int find_rsb_dir(struct dlm_ls *ls, const void *name, int len,
static void do_purge(struct dlm_ls *ls, int nodeid, int pid);
static int find_rsb_nodir(struct dlm_ls *ls, const void *name, int len,
void dlm_dump_rsb_name(struct dlm_ls *ls, const char *name, int len);
void dlm_receive_message_saved(struct dlm_ls *ls, const struct dlm_message *ms,
int dlm_lock_recovery_try(struct dlm_ls *ls);
void dlm_lock_recovery(struct dlm_ls *ls);
void dlm_unlock_recovery(struct dlm_ls *ls);
void resume_scan_timer(struct dlm_ls *ls);
int dlm_master_lookup(struct dlm_ls *ls, int from_nodeid, const char *name,
void dlm_recover_purge(struct dlm_ls *ls, const struct list_head *root_list);
void dlm_recover_grant(struct dlm_ls *ls);
int dlm_recover_waiters_post(struct dlm_ls *ls);
void dlm_recover_waiters_pre(struct dlm_ls *ls);
int dlm_recover_master_copy(struct dlm_ls *ls, const struct dlm_rcom *rc,
int dlm_recover_process_copy(struct dlm_ls *ls, const struct dlm_rcom *rc,
int dlm_user_request(struct dlm_ls *ls, struct dlm_user_args *ua, int mode,
int dlm_user_convert(struct dlm_ls *ls, struct dlm_user_args *ua_tmp,
int dlm_user_adopt_orphan(struct dlm_ls *ls, struct dlm_user_args *ua_tmp,
int dlm_user_unlock(struct dlm_ls *ls, struct dlm_user_args *ua_tmp,
int dlm_user_cancel(struct dlm_ls *ls, struct dlm_user_args *ua_tmp,
int dlm_user_purge(struct dlm_ls *ls, struct dlm_user_proc *proc,
int dlm_user_deadlock(struct dlm_ls *ls, uint32_t flags, uint32_t lkid);
void dlm_clear_proc_locks(struct dlm_ls *ls, struct dlm_user_proc *proc);
int dlm_debug_add_lkb(struct dlm_ls *ls, uint32_t lkb_id, char *name, int len,
int dlm_debug_add_lkb_to_waiters(struct dlm_ls *ls, uint32_t lkb_id,
static ssize_t dlm_recover_status_show(struct dlm_ls *ls, char *buf)
static ssize_t dlm_recover_nodeid_show(struct dlm_ls *ls, char *buf)
ssize_t (*show)(struct dlm_ls *, char *);
ssize_t (*store)(struct dlm_ls *, const char *, size_t);
struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj);
struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj);
static int do_uevent(struct dlm_ls *ls, int in, unsigned int release_recover)
const struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj);
struct dlm_ls *dlm_find_lockspace_global(uint32_t id)
struct dlm_ls *ls;
struct dlm_ls *dlm_find_lockspace_local(dlm_lockspace_t *lockspace)
struct dlm_ls *ls = lockspace;
struct dlm_ls *dlm_find_lockspace_device(int minor)
struct dlm_ls *ls;
void dlm_put_lockspace(struct dlm_ls *ls)
static void remove_lockspace(struct dlm_ls *ls)
static ssize_t dlm_control_store(struct dlm_ls *ls, const char *buf, size_t len)
struct dlm_ls *ls = container_of(work, struct dlm_ls, ls_free_work);
struct dlm_ls *ls;
static ssize_t dlm_event_store(struct dlm_ls *ls, const char *buf, size_t len)
static int lockspace_busy(struct dlm_ls *ls, unsigned int release_option)
static ssize_t dlm_id_show(struct dlm_ls *ls, char *buf)
static int release_lockspace(struct dlm_ls *ls, unsigned int release_option)
static ssize_t dlm_id_store(struct dlm_ls *ls, const char *buf, size_t len)
struct dlm_ls *ls;
struct dlm_ls *ls;
static ssize_t dlm_nodir_show(struct dlm_ls *ls, char *buf)
static ssize_t dlm_nodir_store(struct dlm_ls *ls, const char *buf, size_t len)
struct dlm_ls *dlm_find_lockspace_global(uint32_t id);
struct dlm_ls *dlm_find_lockspace_local(void *id);
struct dlm_ls *dlm_find_lockspace_device(int minor);
void dlm_put_lockspace(struct dlm_ls *ls);
int dlm_slots_assign(struct dlm_ls *ls, int *num_slots, int *slots_size,
void dlm_slot_save(struct dlm_ls *ls, struct dlm_rcom *rc,
static void add_ordered_member(struct dlm_ls *ls, struct dlm_member *new)
static int dlm_add_member(struct dlm_ls *ls, struct dlm_config_node *node)
int dlm_is_member(struct dlm_ls *ls, int nodeid)
int dlm_is_removed(struct dlm_ls *ls, int nodeid)
void dlm_clear_members(struct dlm_ls *ls)
void dlm_slots_copy_out(struct dlm_ls *ls, struct dlm_rcom *rc)
void dlm_clear_members_gone(struct dlm_ls *ls)
static void make_member_array(struct dlm_ls *ls)
static int ping_members(struct dlm_ls *ls, uint64_t seq)
static void dlm_lsop_recover_prep(struct dlm_ls *ls)
static void dlm_lsop_recover_slot(struct dlm_ls *ls, struct dlm_member *memb,
void dlm_lsop_recover_done(struct dlm_ls *ls)
int dlm_recover_members(struct dlm_ls *ls, struct dlm_recover *rv, int *neg_out)
static void log_slots(struct dlm_ls *ls, uint32_t gen, int num_slots,
int dlm_ls_stop(struct dlm_ls *ls)
int dlm_ls_start(struct dlm_ls *ls)
int dlm_slots_copy_in(struct dlm_ls *ls)
int dlm_ls_stop(struct dlm_ls *ls);
int dlm_ls_start(struct dlm_ls *ls);
void dlm_clear_members(struct dlm_ls *ls);
void dlm_clear_members_gone(struct dlm_ls *ls);
int dlm_recover_members(struct dlm_ls *ls, struct dlm_recover *rv,int *neg_out);
int dlm_is_removed(struct dlm_ls *ls, int nodeid);
int dlm_is_member(struct dlm_ls *ls, int nodeid);
void dlm_slot_save(struct dlm_ls *ls, struct dlm_rcom *rc,
void dlm_slots_copy_out(struct dlm_ls *ls, struct dlm_rcom *rc);
int dlm_slots_copy_in(struct dlm_ls *ls);
int dlm_slots_assign(struct dlm_ls *ls, int *num_slots, int *slots_size,
void dlm_lsop_recover_done(struct dlm_ls *ls);
char *dlm_allocate_lvb(struct dlm_ls *ls)
char *dlm_allocate_lvb(struct dlm_ls *ls);
struct dlm_ls *ls;
struct dlm_ls *ls;
struct dlm_ls *ls;
struct dlm_ls *ls;
static void set_rcom_status(struct dlm_ls *ls, struct rcom_status *rs,
static void set_rcom_config(struct dlm_ls *ls, struct rcom_config *rf,
static int check_rcom_config(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid)
static void allow_sync_reply(struct dlm_ls *ls, __le64 *new_seq)
static void disallow_sync_reply(struct dlm_ls *ls)
int dlm_rcom_status(struct dlm_ls *ls, int nodeid, uint32_t status_flags,
static void receive_rcom_status(struct dlm_ls *ls,
static int rcom_response(struct dlm_ls *ls)
static void receive_sync_reply(struct dlm_ls *ls, const struct dlm_rcom *rc_in)
static void _create_rcom(struct dlm_ls *ls, int to_nodeid, int type, int len,
int dlm_rcom_names(struct dlm_ls *ls, int nodeid, char *last_name,
static void receive_rcom_names(struct dlm_ls *ls, const struct dlm_rcom *rc_in,
struct dlm_ls *ls = r->res_ls;
static void receive_rcom_lookup(struct dlm_ls *ls,
static void receive_rcom_lookup_reply(struct dlm_ls *ls,
struct dlm_ls *ls = r->res_ls;
static void receive_rcom_lock(struct dlm_ls *ls, const struct dlm_rcom *rc_in,
static int create_rcom(struct dlm_ls *ls, int to_nodeid, int type, int len,
void dlm_receive_rcom(struct dlm_ls *ls, const struct dlm_rcom *rc, int nodeid)
static int create_rcom_stateless(struct dlm_ls *ls, int to_nodeid, int type,
int dlm_rcom_status(struct dlm_ls *ls, int nodeid, uint32_t status_flags,
int dlm_rcom_names(struct dlm_ls *ls, int nodeid, char *last_name,
void dlm_receive_rcom(struct dlm_ls *ls, const struct dlm_rcom *rc,
static int wait_status_low(struct dlm_ls *ls, uint32_t wait_status,
static int wait_status(struct dlm_ls *ls, uint32_t status, uint64_t seq)
int dlm_recover_members_wait(struct dlm_ls *ls, uint64_t seq)
int dlm_recover_directory_wait(struct dlm_ls *ls, uint64_t seq)
int dlm_recover_locks_wait(struct dlm_ls *ls, uint64_t seq)
int dlm_recover_done_wait(struct dlm_ls *ls, uint64_t seq)
static int recover_list_empty(struct dlm_ls *ls)
struct dlm_ls *ls = r->res_ls;
struct dlm_ls *ls = r->res_ls;
static void recover_list_clear(struct dlm_ls *ls)
static int recover_xa_empty(struct dlm_ls *ls)
struct dlm_ls *ls = r->res_ls;
struct dlm_ls *ls = r->res_ls;
static struct dlm_rsb *recover_xa_find(struct dlm_ls *ls, uint64_t id)
static void recover_xa_clear(struct dlm_ls *ls)
int dlm_wait_function(struct dlm_ls *ls, int (*testfn) (struct dlm_ls *ls))
struct dlm_ls *ls = r->res_ls;
int dlm_recover_masters(struct dlm_ls *ls, uint64_t seq,
int dlm_recover_master_reply(struct dlm_ls *ls, const struct dlm_rcom *rc)
int dlm_recover_locks(struct dlm_ls *ls, uint64_t seq,
uint32_t dlm_recover_status(struct dlm_ls *ls)
struct dlm_ls *ls = r->res_ls;
static void _set_recover_status(struct dlm_ls *ls, uint32_t status)
void dlm_recover_rsbs(struct dlm_ls *ls, const struct list_head *root_list)
void dlm_set_recover_status(struct dlm_ls *ls, uint32_t status)
void dlm_clear_inactive(struct dlm_ls *ls)
static int wait_status_all(struct dlm_ls *ls, uint32_t wait_status,
int dlm_wait_function(struct dlm_ls *ls, int (*testfn) (struct dlm_ls *ls));
uint32_t dlm_recover_status(struct dlm_ls *ls);
void dlm_set_recover_status(struct dlm_ls *ls, uint32_t status);
int dlm_recover_members_wait(struct dlm_ls *ls, uint64_t seq);
int dlm_recover_directory_wait(struct dlm_ls *ls, uint64_t seq);
int dlm_recover_locks_wait(struct dlm_ls *ls, uint64_t seq);
int dlm_recover_done_wait(struct dlm_ls *ls, uint64_t seq);
int dlm_recover_masters(struct dlm_ls *ls, uint64_t seq,
int dlm_recover_master_reply(struct dlm_ls *ls, const struct dlm_rcom *rc);
int dlm_recover_locks(struct dlm_ls *ls, uint64_t seq,
void dlm_clear_inactive(struct dlm_ls *ls);
void dlm_recover_rsbs(struct dlm_ls *ls, const struct list_head *root_list);
static int ls_recover(struct dlm_ls *ls, struct dlm_recover *rv)
static int dlm_create_masters_list(struct dlm_ls *ls)
static void do_ls_recovery(struct dlm_ls *ls)
struct dlm_ls *ls;
int dlm_recoverd_start(struct dlm_ls *ls)
void dlm_recoverd_stop(struct dlm_ls *ls)
void dlm_recoverd_suspend(struct dlm_ls *ls)
void dlm_recoverd_resume(struct dlm_ls *ls)
static void dlm_release_masters_list(struct dlm_ls *ls)
static void dlm_create_root_list(struct dlm_ls *ls, struct list_head *root_list)
static int enable_locking(struct dlm_ls *ls, uint64_t seq)
void dlm_recoverd_stop(struct dlm_ls *ls);
int dlm_recoverd_start(struct dlm_ls *ls);
void dlm_recoverd_suspend(struct dlm_ls *ls);
void dlm_recoverd_resume(struct dlm_ls *ls);
static int purge_request(struct dlm_ls *ls, struct dlm_message *ms, int nodeid)
void dlm_purge_requestqueue(struct dlm_ls *ls)
void dlm_add_requestqueue(struct dlm_ls *ls, int nodeid,
int dlm_process_requestqueue(struct dlm_ls *ls)
void dlm_add_requestqueue(struct dlm_ls *ls, int nodeid,
int dlm_process_requestqueue(struct dlm_ls *ls);
void dlm_wait_requestqueue(struct dlm_ls *ls);
void dlm_purge_requestqueue(struct dlm_ls *ls);
struct dlm_ls *ls;
struct dlm_ls *ls;
struct dlm_ls *ls;
struct dlm_ls *ls;
static int dlm_device_register(struct dlm_ls *ls, char *name)
int dlm_device_deregister(struct dlm_ls *ls)
struct dlm_ls *ls;
struct dlm_ls *ls;
struct dlm_ls *ls;
struct dlm_ls *ls;
struct dlm_ls *ls;
int dlm_device_deregister(struct dlm_ls *ls);
TP_PROTO(struct dlm_ls *ls, struct dlm_lkb *lkb, const void *name,
TP_PROTO(struct dlm_ls *ls, struct dlm_lkb *lkb, __u32 flags),
TP_PROTO(struct dlm_ls *ls, struct dlm_lkb *lkb, __u32 flags,
TP_PROTO(struct dlm_ls *ls, struct dlm_lkb *lkb, const void *name,