Lines Matching refs:proc

183 	struct dlm_user_proc *proc;  in dlm_user_add_ast()  local
203 proc = ua->proc; in dlm_user_add_ast()
211 spin_lock(&proc->asts_spin); in dlm_user_add_ast()
216 spin_unlock(&proc->asts_spin); in dlm_user_add_ast()
221 list_add_tail(&lkb->lkb_cb_list, &proc->asts); in dlm_user_add_ast()
222 wake_up_interruptible(&proc->wait); in dlm_user_add_ast()
230 spin_unlock(&proc->asts_spin); in dlm_user_add_ast()
234 spin_lock(&proc->locks_spin); in dlm_user_add_ast()
239 spin_unlock(&proc->locks_spin); in dlm_user_add_ast()
245 static int device_user_lock(struct dlm_user_proc *proc, in device_user_lock() argument
253 ls = dlm_find_lockspace_local(proc->lockspace); in device_user_lock()
273 ua->proc = proc; in device_user_lock()
318 static int device_user_unlock(struct dlm_user_proc *proc, in device_user_unlock() argument
325 ls = dlm_find_lockspace_local(proc->lockspace); in device_user_unlock()
332 ua->proc = proc; in device_user_unlock()
347 static int device_user_deadlock(struct dlm_user_proc *proc, in device_user_deadlock() argument
353 ls = dlm_find_lockspace_local(proc->lockspace); in device_user_deadlock()
408 static int device_user_purge(struct dlm_user_proc *proc, in device_user_purge() argument
414 ls = dlm_find_lockspace_local(proc->lockspace); in device_user_purge()
418 error = dlm_user_purge(ls, proc, params->nodeid, params->pid); in device_user_purge()
532 struct dlm_user_proc *proc = file->private_data; in device_write() local
577 if (proc) in device_write()
578 set_bit(DLM_PROC_FLAGS_COMPAT, &proc->flags); in device_write()
587 (proc && test_bit(DLM_PROC_FLAGS_CLOSING, &proc->flags))) { in device_write()
597 if (!proc) { in device_write()
601 error = device_user_lock(proc, &kbuf->i.lock); in device_write()
605 if (!proc) { in device_write()
609 error = device_user_unlock(proc, &kbuf->i.lock); in device_write()
613 if (!proc) { in device_write()
617 error = device_user_deadlock(proc, &kbuf->i.lock); in device_write()
621 if (proc) { in device_write()
629 if (proc) { in device_write()
637 if (!proc) { in device_write()
641 error = device_user_purge(proc, &kbuf->i.purge); in device_write()
660 struct dlm_user_proc *proc; in device_open() local
667 proc = kzalloc(sizeof(struct dlm_user_proc), GFP_NOFS); in device_open()
668 if (!proc) { in device_open()
673 proc->lockspace = ls->ls_local_handle; in device_open()
674 INIT_LIST_HEAD(&proc->asts); in device_open()
675 INIT_LIST_HEAD(&proc->locks); in device_open()
676 INIT_LIST_HEAD(&proc->unlocking); in device_open()
677 spin_lock_init(&proc->asts_spin); in device_open()
678 spin_lock_init(&proc->locks_spin); in device_open()
679 init_waitqueue_head(&proc->wait); in device_open()
680 file->private_data = proc; in device_open()
687 struct dlm_user_proc *proc = file->private_data; in device_close() local
690 ls = dlm_find_lockspace_local(proc->lockspace); in device_close()
694 set_bit(DLM_PROC_FLAGS_CLOSING, &proc->flags); in device_close()
696 dlm_clear_proc_locks(ls, proc); in device_close()
702 kfree(proc); in device_close()
807 struct dlm_user_proc *proc = file->private_data; in device_read() local
819 if (!proc) { in device_read()
834 if (test_bit(DLM_PROC_FLAGS_CLOSING, &proc->flags)) in device_read()
837 spin_lock(&proc->asts_spin); in device_read()
838 if (list_empty(&proc->asts)) { in device_read()
840 spin_unlock(&proc->asts_spin); in device_read()
844 add_wait_queue(&proc->wait, &wait); in device_read()
848 if (list_empty(&proc->asts) && !signal_pending(current)) { in device_read()
849 spin_unlock(&proc->asts_spin); in device_read()
851 spin_lock(&proc->asts_spin); in device_read()
855 remove_wait_queue(&proc->wait, &wait); in device_read()
858 spin_unlock(&proc->asts_spin); in device_read()
867 lkb = list_first_entry(&proc->asts, struct dlm_lkb, lkb_cb_list); in device_read()
880 spin_unlock(&proc->asts_spin); in device_read()
895 spin_unlock(&proc->asts_spin); in device_read()
912 test_bit(DLM_PROC_FLAGS_COMPAT, &proc->flags), in device_read()
926 struct dlm_user_proc *proc = file->private_data; in device_poll() local
928 poll_wait(file, &proc->wait, wait); in device_poll()
930 spin_lock(&proc->asts_spin); in device_poll()
931 if (!list_empty(&proc->asts)) { in device_poll()
932 spin_unlock(&proc->asts_spin); in device_poll()
935 spin_unlock(&proc->asts_spin); in device_poll()