Lines Matching refs:block
102 struct nlm_wait *block; in nlmclnt_prepare_block() local
104 block = kmalloc(sizeof(*block), GFP_KERNEL); in nlmclnt_prepare_block()
105 if (block != NULL) { in nlmclnt_prepare_block()
106 block->b_host = host; in nlmclnt_prepare_block()
107 block->b_lock = fl; in nlmclnt_prepare_block()
108 init_waitqueue_head(&block->b_wait); in nlmclnt_prepare_block()
109 block->b_status = nlm_lck_blocked; in nlmclnt_prepare_block()
112 list_add(&block->b_list, &nlm_blocked); in nlmclnt_prepare_block()
115 return block; in nlmclnt_prepare_block()
118 void nlmclnt_finish_block(struct nlm_wait *block) in nlmclnt_finish_block() argument
120 if (block == NULL) in nlmclnt_finish_block()
123 list_del(&block->b_list); in nlmclnt_finish_block()
125 kfree(block); in nlmclnt_finish_block()
131 int nlmclnt_block(struct nlm_wait *block, struct nlm_rqst *req, long timeout) in nlmclnt_block() argument
138 if (block == NULL) in nlmclnt_block()
149 ret = wait_event_interruptible_timeout(block->b_wait, in nlmclnt_block()
150 block->b_status != nlm_lck_blocked, in nlmclnt_block()
155 if (block->b_status == nlm_lck_denied_grace_period) in nlmclnt_block()
156 block->b_status = nlm_lck_blocked; in nlmclnt_block()
157 req->a_res.status = block->b_status; in nlmclnt_block()
168 struct nlm_wait *block; in nlmclnt_grant() local
176 list_for_each_entry(block, &nlm_blocked, b_list) { in nlmclnt_grant()
177 struct file_lock *fl_blocked = block->b_lock; in nlmclnt_grant()
189 if (!rpc_cmp_addr(nlm_addr(block->b_host), addr)) in nlmclnt_grant()
196 block->b_status = nlm_granted; in nlmclnt_grant()
197 wake_up(&block->b_wait); in nlmclnt_grant()
232 struct nlm_wait *block; in reclaimer() local
286 list_for_each_entry(block, &nlm_blocked, b_list) { in reclaimer()
287 if (block->b_host == host) { in reclaimer()
288 block->b_status = nlm_lck_denied_grace_period; in reclaimer()
289 wake_up(&block->b_wait); in reclaimer()