Lines Matching defs:proc
5842 spin_lock(&ua->proc->locks_spin);
5844 list_add_tail(&lkb->lkb_ownqueue, &ua->proc->locks);
5845 spin_unlock(&ua->proc->locks_spin);
5954 ua->proc = ua_tmp->proc;
5965 * for the proc locks list.
5968 spin_lock(&ua->proc->locks_spin);
5969 list_add_tail(&lkb->lkb_ownqueue, &ua->proc->locks);
5970 spin_unlock(&ua->proc->locks_spin);
6012 spin_lock(&ua->proc->locks_spin);
6013 /* dlm_user_add_cb() may have already taken lkb off the proc list */
6015 list_move(&lkb->lkb_ownqueue, &ua->proc->unlocking);
6016 spin_unlock(&ua->proc->locks_spin);
6156 struct dlm_user_proc *proc)
6161 if (list_empty(&proc->locks))
6164 lkb = list_entry(proc->locks.next, struct dlm_lkb, lkb_ownqueue);
6177 1) references lkb->ua which we free here and 2) adds lkbs to proc->asts,
6180 /* proc CLOSING flag is set so no more device_reads should look at proc->asts
6181 list, and no more device_writes should add lkb's to proc->locks list; so we
6186 void dlm_clear_proc_locks(struct dlm_ls *ls, struct dlm_user_proc *proc)
6193 lkb = del_proc_lock(ls, proc);
6202 /* this removes the reference for the proc->locks list
6212 list_for_each_entry_safe(lkb, safe, &proc->unlocking, lkb_ownqueue) {
6218 list_for_each_entry_safe(lkb, safe, &proc->asts, lkb_cb_list) {
6229 static void purge_proc_locks(struct dlm_ls *ls, struct dlm_user_proc *proc)
6235 spin_lock(&proc->locks_spin);
6236 if (!list_empty(&proc->locks)) {
6237 lkb = list_entry(proc->locks.next, struct dlm_lkb,
6241 spin_unlock(&proc->locks_spin);
6248 dlm_put_lkb(lkb); /* ref from proc->locks list */
6251 spin_lock(&proc->locks_spin);
6252 list_for_each_entry_safe(lkb, safe, &proc->unlocking, lkb_ownqueue) {
6257 spin_unlock(&proc->locks_spin);
6259 spin_lock(&proc->asts_spin);
6260 list_for_each_entry_safe(lkb, safe, &proc->asts, lkb_cb_list) {
6266 spin_unlock(&proc->asts_spin);
6302 int dlm_user_purge(struct dlm_ls *ls, struct dlm_user_proc *proc,
6312 purge_proc_locks(ls, proc);