Lines Matching refs:proc

148 /* should held proc->asts_spin lock */
201 struct dlm_user_proc *proc;
223 proc = ua->proc;
231 spin_lock(&proc->asts_spin);
236 spin_unlock(&proc->asts_spin);
241 list_add_tail(&lkb->lkb_cb_list, &proc->asts);
242 wake_up_interruptible(&proc->wait);
250 spin_unlock(&proc->asts_spin);
254 spin_lock(&proc->locks_spin);
259 spin_unlock(&proc->locks_spin);
265 static int device_user_lock(struct dlm_user_proc *proc,
273 ls = dlm_find_lockspace_local(proc->lockspace);
285 ua->proc = proc;
316 static int device_user_unlock(struct dlm_user_proc *proc,
323 ls = dlm_find_lockspace_local(proc->lockspace);
330 ua->proc = proc;
345 static int device_user_deadlock(struct dlm_user_proc *proc,
351 ls = dlm_find_lockspace_local(proc->lockspace);
406 static int device_user_purge(struct dlm_user_proc *proc,
412 ls = dlm_find_lockspace_local(proc->lockspace);
416 error = dlm_user_purge(ls, proc, params->nodeid, params->pid);
530 struct dlm_user_proc *proc = file->private_data;
575 if (proc)
576 set_bit(DLM_PROC_FLAGS_COMPAT, &proc->flags);
585 (proc && test_bit(DLM_PROC_FLAGS_CLOSING, &proc->flags))) {
595 if (!proc) {
599 error = device_user_lock(proc, &kbuf->i.lock);
603 if (!proc) {
607 error = device_user_unlock(proc, &kbuf->i.lock);
611 if (!proc) {
615 error = device_user_deadlock(proc, &kbuf->i.lock);
619 if (proc) {
627 if (proc) {
635 if (!proc) {
639 error = device_user_purge(proc, &kbuf->i.purge);
652 /* Every process that opens the lockspace device has its own "proc" structure
658 struct dlm_user_proc *proc;
665 proc = kzalloc(sizeof(struct dlm_user_proc), GFP_NOFS);
666 if (!proc) {
671 proc->lockspace = ls->ls_local_handle;
672 INIT_LIST_HEAD(&proc->asts);
673 INIT_LIST_HEAD(&proc->locks);
674 INIT_LIST_HEAD(&proc->unlocking);
675 spin_lock_init(&proc->asts_spin);
676 spin_lock_init(&proc->locks_spin);
677 init_waitqueue_head(&proc->wait);
678 file->private_data = proc;
685 struct dlm_user_proc *proc = file->private_data;
688 ls = dlm_find_lockspace_local(proc->lockspace);
692 set_bit(DLM_PROC_FLAGS_CLOSING, &proc->flags);
694 dlm_clear_proc_locks(ls, proc);
698 looking for lkb->ua->proc */
700 kfree(proc);
805 struct dlm_user_proc *proc = file->private_data;
817 if (!proc) {
832 if (test_bit(DLM_PROC_FLAGS_CLOSING, &proc->flags))
835 spin_lock(&proc->asts_spin);
836 if (list_empty(&proc->asts)) {
838 spin_unlock(&proc->asts_spin);
842 add_wait_queue(&proc->wait, &wait);
846 if (list_empty(&proc->asts) && !signal_pending(current)) {
847 spin_unlock(&proc->asts_spin);
849 spin_lock(&proc->asts_spin);
853 remove_wait_queue(&proc->wait, &wait);
856 spin_unlock(&proc->asts_spin);
865 lkb = list_first_entry(&proc->asts, struct dlm_lkb, lkb_cb_list);
878 spin_unlock(&proc->asts_spin);
879 /* removes ref for proc->asts, may cause lkb to be freed */
893 spin_unlock(&proc->asts_spin);
910 test_bit(DLM_PROC_FLAGS_COMPAT, &proc->flags),
915 /* removes ref for proc->asts, may cause lkb to be freed */
924 struct dlm_user_proc *proc = file->private_data;
926 poll_wait(file, &proc->wait, wait);
928 spin_lock(&proc->asts_spin);
929 if (!list_empty(&proc->asts)) {
930 spin_unlock(&proc->asts_spin);
933 spin_unlock(&proc->asts_spin);