Home
last modified time | relevance | path

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

12

/fs/dlm/
Dlockspace.c35 static ssize_t dlm_control_store(struct dlm_ls *ls, const char *buf, size_t len) in dlm_control_store() argument
43 ls = dlm_find_lockspace_local(ls->ls_local_handle); in dlm_control_store()
44 if (!ls) in dlm_control_store()
49 dlm_ls_stop(ls); in dlm_control_store()
52 dlm_ls_start(ls); in dlm_control_store()
57 dlm_put_lockspace(ls); in dlm_control_store()
61 static ssize_t dlm_event_store(struct dlm_ls *ls, const char *buf, size_t len) in dlm_event_store() argument
63 int rc = kstrtoint(buf, 0, &ls->ls_uevent_result); in dlm_event_store()
67 set_bit(LSFL_UEVENT_WAIT, &ls->ls_flags); in dlm_event_store()
68 wake_up(&ls->ls_uevent_wait); in dlm_event_store()
[all …]
Drecoverd.c31 static int enable_locking(struct dlm_ls *ls, uint64_t seq) in enable_locking() argument
35 down_write(&ls->ls_recv_active); in enable_locking()
37 spin_lock(&ls->ls_recover_lock); in enable_locking()
38 if (ls->ls_recover_seq == seq) { in enable_locking()
39 set_bit(LSFL_RUNNING, &ls->ls_flags); in enable_locking()
41 up_write(&ls->ls_in_recovery); in enable_locking()
42 clear_bit(LSFL_RECOVER_LOCK, &ls->ls_flags); in enable_locking()
45 spin_unlock(&ls->ls_recover_lock); in enable_locking()
47 up_write(&ls->ls_recv_active); in enable_locking()
51 static int ls_recover(struct dlm_ls *ls, struct dlm_recover *rv) in ls_recover() argument
[all …]
Drecover.c42 int dlm_wait_function(struct dlm_ls *ls, int (*testfn) (struct dlm_ls *ls)) in dlm_wait_function() argument
48 rv = wait_event_timeout(ls->ls_wait_general, in dlm_wait_function()
49 testfn(ls) || dlm_recovery_stopped(ls), in dlm_wait_function()
53 if (test_bit(LSFL_RCOM_WAIT, &ls->ls_flags)) { in dlm_wait_function()
54 log_debug(ls, "dlm_wait_function timed out"); in dlm_wait_function()
59 if (dlm_recovery_stopped(ls)) { in dlm_wait_function()
60 log_debug(ls, "dlm_wait_function aborted"); in dlm_wait_function()
74 uint32_t dlm_recover_status(struct dlm_ls *ls) in dlm_recover_status() argument
77 spin_lock(&ls->ls_recover_lock); in dlm_recover_status()
78 status = ls->ls_recover_status; in dlm_recover_status()
[all …]
Dmember.c28 void dlm_slot_save(struct dlm_ls *ls, struct dlm_rcom *rc, in dlm_slot_save() argument
40 void dlm_slots_copy_out(struct dlm_ls *ls, struct dlm_rcom *rc) in dlm_slots_copy_out() argument
50 for (i = 0; i < ls->ls_slots_size; i++) { in dlm_slots_copy_out()
51 slot = &ls->ls_slots[i]; in dlm_slots_copy_out()
62 static void log_slots(struct dlm_ls *ls, uint32_t gen, int num_slots, in log_slots() argument
94 log_rinfo(ls, "generation %u slots %d%s", gen, num_slots, line); in log_slots()
97 int dlm_slots_copy_in(struct dlm_ls *ls) in dlm_slots_copy_in() argument
100 struct dlm_rcom *rc = ls->ls_recover_buf; in dlm_slots_copy_in()
111 if (gen <= ls->ls_generation) { in dlm_slots_copy_in()
112 log_error(ls, "dlm_slots_copy_in gen %u old %u", in dlm_slots_copy_in()
[all …]
Drcom.c25 static int rcom_response(struct dlm_ls *ls) in rcom_response() argument
27 return test_bit(LSFL_RCOM_READY, &ls->ls_flags); in rcom_response()
30 static void _create_rcom(struct dlm_ls *ls, int to_nodeid, int type, int len, in _create_rcom() argument
38 rc->rc_header.u.h_lockspace = cpu_to_le32(ls->ls_global_id); in _create_rcom()
45 spin_lock(&ls->ls_recover_lock); in _create_rcom()
46 rc->rc_seq = cpu_to_le64(ls->ls_recover_seq); in _create_rcom()
47 spin_unlock(&ls->ls_recover_lock); in _create_rcom()
52 static int create_rcom(struct dlm_ls *ls, int to_nodeid, int type, int len, in create_rcom() argument
66 _create_rcom(ls, to_nodeid, type, len, rc_ret, mb, mb_len); in create_rcom()
71 static int create_rcom_stateless(struct dlm_ls *ls, int to_nodeid, int type, in create_rcom_stateless() argument
[all …]
Drequestqueue.c33 void dlm_add_requestqueue(struct dlm_ls *ls, int nodeid, struct dlm_message *ms) in dlm_add_requestqueue() argument
45 e->recover_seq = ls->ls_recover_seq & 0xFFFFFFFF; in dlm_add_requestqueue()
49 atomic_inc(&ls->ls_requestqueue_cnt); in dlm_add_requestqueue()
50 mutex_lock(&ls->ls_requestqueue_mutex); in dlm_add_requestqueue()
51 list_add_tail(&e->list, &ls->ls_requestqueue); in dlm_add_requestqueue()
52 mutex_unlock(&ls->ls_requestqueue_mutex); in dlm_add_requestqueue()
66 int dlm_process_requestqueue(struct dlm_ls *ls) in dlm_process_requestqueue() argument
72 mutex_lock(&ls->ls_requestqueue_mutex); in dlm_process_requestqueue()
75 if (list_empty(&ls->ls_requestqueue)) { in dlm_process_requestqueue()
76 mutex_unlock(&ls->ls_requestqueue_mutex); in dlm_process_requestqueue()
[all …]
Dlock.c91 static void do_purge(struct dlm_ls *ls, int nodeid, int pid);
205 static inline void dlm_lock_recovery(struct dlm_ls *ls) in dlm_lock_recovery() argument
207 down_read(&ls->ls_in_recovery); in dlm_lock_recovery()
210 void dlm_unlock_recovery(struct dlm_ls *ls) in dlm_unlock_recovery() argument
212 up_read(&ls->ls_in_recovery); in dlm_unlock_recovery()
215 int dlm_lock_recovery_try(struct dlm_ls *ls) in dlm_lock_recovery_try() argument
217 return down_read_trylock(&ls->ls_in_recovery); in dlm_lock_recovery_try()
353 struct dlm_ls *ls = r->res_ls; in put_rsb() local
358 &ls->ls_rsbtbl[bucket].lock); in put_rsb()
360 spin_unlock(&ls->ls_rsbtbl[bucket].lock); in put_rsb()
[all …]
Ddir.c33 int dlm_hash2nodeid(struct dlm_ls *ls, uint32_t hash) in dlm_hash2nodeid() argument
37 if (ls->ls_num_nodes == 1) in dlm_hash2nodeid()
40 node = (hash >> 16) % ls->ls_total_weight; in dlm_hash2nodeid()
41 return ls->ls_node_array[node]; in dlm_hash2nodeid()
50 void dlm_recover_dir_nodeid(struct dlm_ls *ls) in dlm_recover_dir_nodeid() argument
54 down_read(&ls->ls_root_sem); in dlm_recover_dir_nodeid()
55 list_for_each_entry(r, &ls->ls_root_list, res_root_list) { in dlm_recover_dir_nodeid()
56 r->res_dir_nodeid = dlm_hash2nodeid(ls, r->res_hash); in dlm_recover_dir_nodeid()
58 up_read(&ls->ls_root_sem); in dlm_recover_dir_nodeid()
61 int dlm_recover_directory(struct dlm_ls *ls) in dlm_recover_directory() argument
[all …]
Dlock.h15 void dlm_dump_rsb_name(struct dlm_ls *ls, char *name, int len);
17 void dlm_receive_message_saved(struct dlm_ls *ls, struct dlm_message *ms,
24 void dlm_scan_rsbs(struct dlm_ls *ls);
25 int dlm_lock_recovery_try(struct dlm_ls *ls);
26 void dlm_unlock_recovery(struct dlm_ls *ls);
29 void dlm_scan_timeout(struct dlm_ls *ls);
30 void dlm_adjust_timeouts(struct dlm_ls *ls);
32 static inline void dlm_scan_timeout(struct dlm_ls *ls) { } in dlm_scan_timeout() argument
33 static inline void dlm_adjust_timeouts(struct dlm_ls *ls) { } in dlm_adjust_timeouts() argument
36 int dlm_master_lookup(struct dlm_ls *ls, int nodeid, char *name, int len,
[all …]
Dast.c56 struct dlm_ls *ls = lkb->lkb_resource->res_ls; in dlm_add_lkb_callback() local
81 log_debug(ls, "skip %x add bast %llu mode %d " in dlm_add_lkb_callback()
103 log_error(ls, "no callbacks %x %llu flags %x mode %d sb %d %x", in dlm_add_lkb_callback()
114 int dlm_rem_lkb_callback(struct dlm_ls *ls, struct dlm_lkb *lkb, in dlm_rem_lkb_callback() argument
149 log_debug(ls, "skip %x bast %llu mode %d " in dlm_rem_lkb_callback()
178 struct dlm_ls *ls = lkb->lkb_resource->res_ls; in dlm_add_cb() local
203 mutex_lock(&ls->ls_cb_mutex); in dlm_add_cb()
204 if (test_bit(LSFL_CB_DELAY, &ls->ls_flags)) { in dlm_add_cb()
205 list_add(&lkb->lkb_cb_list, &ls->ls_cb_delay); in dlm_add_cb()
207 queue_work(ls->ls_callback_wq, &lkb->lkb_cb_work); in dlm_add_cb()
[all …]
Drecover.h15 int dlm_wait_function(struct dlm_ls *ls, int (*testfn) (struct dlm_ls *ls));
16 uint32_t dlm_recover_status(struct dlm_ls *ls);
17 void dlm_set_recover_status(struct dlm_ls *ls, uint32_t status);
18 int dlm_recover_members_wait(struct dlm_ls *ls);
19 int dlm_recover_directory_wait(struct dlm_ls *ls);
20 int dlm_recover_locks_wait(struct dlm_ls *ls);
21 int dlm_recover_done_wait(struct dlm_ls *ls);
22 int dlm_recover_masters(struct dlm_ls *ls);
23 int dlm_recover_master_reply(struct dlm_ls *ls, struct dlm_rcom *rc);
24 int dlm_recover_locks(struct dlm_ls *ls);
[all …]
Duser.c180 struct dlm_ls *ls; in dlm_user_add_ast() local
188 ls = lkb->lkb_resource->res_ls; in dlm_user_add_ast()
189 spin_lock(&ls->ls_clear_proc_locks); in dlm_user_add_ast()
235 spin_unlock(&ls->ls_clear_proc_locks); in dlm_user_add_ast()
241 struct dlm_ls *ls; in device_user_lock() local
246 ls = dlm_find_lockspace_local(proc->lockspace); in device_user_lock()
247 if (!ls) in device_user_lock()
276 error = dlm_user_convert(ls, ua, in device_user_lock()
281 error = dlm_user_convert(ls, ua, in device_user_lock()
286 error = dlm_user_adopt_orphan(ls, ua, in device_user_lock()
[all …]
Dmember.h14 int dlm_ls_stop(struct dlm_ls *ls);
15 int dlm_ls_start(struct dlm_ls *ls);
16 void dlm_clear_members(struct dlm_ls *ls);
17 void dlm_clear_members_gone(struct dlm_ls *ls);
18 int dlm_recover_members(struct dlm_ls *ls, struct dlm_recover *rv,int *neg_out);
19 int dlm_is_removed(struct dlm_ls *ls, int nodeid);
20 int dlm_is_member(struct dlm_ls *ls, int nodeid);
22 void dlm_slot_save(struct dlm_ls *ls, struct dlm_rcom *rc,
24 void dlm_slots_copy_out(struct dlm_ls *ls, struct dlm_rcom *rc);
25 int dlm_slots_copy_in(struct dlm_ls *ls);
[all …]
Ddebug_fs.c425 struct dlm_ls *ls = seq->private; in table_seq_start() local
435 if (bucket >= ls->ls_rsbtbl_size) in table_seq_start()
452 tree = toss ? &ls->ls_rsbtbl[bucket].toss : &ls->ls_rsbtbl[bucket].keep; in table_seq_start()
454 spin_lock(&ls->ls_rsbtbl[bucket].lock); in table_seq_start()
462 spin_unlock(&ls->ls_rsbtbl[bucket].lock); in table_seq_start()
467 spin_unlock(&ls->ls_rsbtbl[bucket].lock); in table_seq_start()
480 if (bucket >= ls->ls_rsbtbl_size) { in table_seq_start()
484 tree = toss ? &ls->ls_rsbtbl[bucket].toss : &ls->ls_rsbtbl[bucket].keep; in table_seq_start()
486 spin_lock(&ls->ls_rsbtbl[bucket].lock); in table_seq_start()
493 spin_unlock(&ls->ls_rsbtbl[bucket].lock); in table_seq_start()
[all …]
Ddlm_internal.h60 #define log_error(ls, fmt, args...) \ argument
61 printk(KERN_ERR "dlm: %s: " fmt "\n", (ls)->ls_name , ##args)
63 #define log_rinfo(ls, fmt, args...) \ argument
67 (ls)->ls_name, ##args); \
70 (ls)->ls_name , ##args); \
73 #define log_debug(ls, fmt, args...) \ argument
77 (ls)->ls_name , ##args); \
80 #define log_limit(ls, fmt, args...) \ argument
84 (ls)->ls_name , ##args); \
747 static inline int dlm_locking_stopped(struct dlm_ls *ls) in dlm_locking_stopped() argument
[all …]
Dplock.c106 struct dlm_ls *ls; in dlm_posix_lock() local
110 ls = dlm_find_lockspace_local(lockspace); in dlm_posix_lock()
111 if (!ls) in dlm_posix_lock()
124 op->info.fsid = ls->ls_global_id; in dlm_posix_lock()
171 log_debug(ls, "%s: wait interrupted %x %llx pid %d", in dlm_posix_lock()
172 __func__, ls->ls_global_id, in dlm_posix_lock()
190 log_error(ls, "dlm_posix_lock: vfs lock error %llx", in dlm_posix_lock()
196 dlm_put_lockspace(ls); in dlm_posix_lock()
255 struct dlm_ls *ls; in dlm_posix_unlock() local
260 ls = dlm_find_lockspace_local(lockspace); in dlm_posix_unlock()
[all …]
Dast.h16 int dlm_rem_lkb_callback(struct dlm_ls *ls, struct dlm_lkb *lkb,
22 int dlm_callback_start(struct dlm_ls *ls);
23 void dlm_callback_stop(struct dlm_ls *ls);
24 void dlm_callback_suspend(struct dlm_ls *ls);
25 void dlm_callback_resume(struct dlm_ls *ls);
Drecoverd.h15 void dlm_recoverd_stop(struct dlm_ls *ls);
16 int dlm_recoverd_start(struct dlm_ls *ls);
17 void dlm_recoverd_suspend(struct dlm_ls *ls);
18 void dlm_recoverd_resume(struct dlm_ls *ls);
Drequestqueue.h14 void dlm_add_requestqueue(struct dlm_ls *ls, int nodeid, struct dlm_message *ms);
15 int dlm_process_requestqueue(struct dlm_ls *ls);
16 void dlm_wait_requestqueue(struct dlm_ls *ls);
17 void dlm_purge_requestqueue(struct dlm_ls *ls);
Ddir.h16 int dlm_hash2nodeid(struct dlm_ls *ls, uint32_t hash);
17 void dlm_recover_dir_nodeid(struct dlm_ls *ls);
18 int dlm_recover_directory(struct dlm_ls *ls);
19 void dlm_copy_master_names(struct dlm_ls *ls, char *inbuf, int inlen,
Drcom.h15 int dlm_rcom_status(struct dlm_ls *ls, int nodeid, uint32_t status_flags);
16 int dlm_rcom_names(struct dlm_ls *ls, int nodeid, char *last_name,int last_len);
19 void dlm_receive_rcom(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid);
Dmemory.c72 char *dlm_allocate_lvb(struct dlm_ls *ls) in dlm_allocate_lvb() argument
76 p = kzalloc(ls->ls_lvblen, GFP_NOFS); in dlm_allocate_lvb()
85 struct dlm_rsb *dlm_allocate_rsb(struct dlm_ls *ls) in dlm_allocate_rsb() argument
100 struct dlm_lkb *dlm_allocate_lkb(struct dlm_ls *ls) in dlm_allocate_lkb() argument
/fs/gfs2/
Dlock_dlm.c260 struct lm_lockstruct *ls = &gl->gl_name.ln_sbd->sd_lockstruct; in gdlm_lock() local
284 error = dlm_lock(ls->ls_dlm, req, &gl->gl_lksb, lkf, strname, in gdlm_lock()
296 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gdlm_put_lock() local
310 if (test_bit(DFL_UNMOUNT, &ls->ls_recover_flags)) { in gdlm_put_lock()
323 error = dlm_unlock(ls->ls_dlm, gl->gl_lksb.sb_lkid, DLM_LKF_VALBLK, in gdlm_put_lock()
340 struct lm_lockstruct *ls = &gl->gl_name.ln_sbd->sd_lockstruct; in gdlm_cancel() local
341 dlm_unlock(ls->ls_dlm, gl->gl_lksb.sb_lkid, DLM_LKF_CANCEL, NULL, gl); in gdlm_cancel()
487 static void control_lvb_read(struct lm_lockstruct *ls, uint32_t *lvb_gen, in control_lvb_read() argument
491 memcpy(lvb_bits, ls->ls_control_lvb, GDLM_LVB_SIZE); in control_lvb_read()
496 static void control_lvb_write(struct lm_lockstruct *ls, uint32_t lvb_gen, in control_lvb_write() argument
[all …]
Dsys.c395 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in block_show() local
399 if (test_bit(DFL_BLOCK_LOCKS, &ls->ls_recover_flags)) in block_show()
407 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in block_store() local
415 set_bit(DFL_BLOCK_LOCKS, &ls->ls_recover_flags); in block_store()
417 clear_bit(DFL_BLOCK_LOCKS, &ls->ls_recover_flags); in block_store()
451 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in lkfirst_show() local
452 return sprintf(buf, "%d\n", ls->ls_first); in lkfirst_show()
484 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in first_done_show() local
485 return sprintf(buf, "%d\n", !!test_bit(DFL_FIRST_MOUNT_DONE, &ls->ls_recover_flags)); in first_done_show()
542 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in recover_done_show() local
[all …]
/fs/nfsd/
Dnfs4layouts.c158 struct nfs4_layout_stateid *ls = layoutstateid(stid); in nfsd4_free_layout_stateid() local
159 struct nfs4_client *clp = ls->ls_stid.sc_client; in nfsd4_free_layout_stateid()
160 struct nfs4_file *fp = ls->ls_stid.sc_file; in nfsd4_free_layout_stateid()
162 trace_nfsd_layoutstate_free(&ls->ls_stid.sc_stateid); in nfsd4_free_layout_stateid()
165 list_del_init(&ls->ls_perclnt); in nfsd4_free_layout_stateid()
169 list_del_init(&ls->ls_perfile); in nfsd4_free_layout_stateid()
172 if (!nfsd4_layout_ops[ls->ls_layout_type]->disable_recalls) in nfsd4_free_layout_stateid()
173 vfs_setlease(ls->ls_file->nf_file, F_UNLCK, NULL, (void **)&ls); in nfsd4_free_layout_stateid()
174 nfsd_file_put(ls->ls_file); in nfsd4_free_layout_stateid()
176 if (ls->ls_recalled) in nfsd4_free_layout_stateid()
[all …]

12