Lines Matching refs:nbl
296 struct nfsd4_blocked_lock *nbl; in find_or_allocate_block() local
298 nbl = find_blocked_lock(lo, fh, nn); in find_or_allocate_block()
299 if (!nbl) { in find_or_allocate_block()
300 nbl= kmalloc(sizeof(*nbl), GFP_KERNEL); in find_or_allocate_block()
301 if (nbl) { in find_or_allocate_block()
302 INIT_LIST_HEAD(&nbl->nbl_list); in find_or_allocate_block()
303 INIT_LIST_HEAD(&nbl->nbl_lru); in find_or_allocate_block()
304 fh_copy_shallow(&nbl->nbl_fh, fh); in find_or_allocate_block()
305 locks_init_lock(&nbl->nbl_lock); in find_or_allocate_block()
306 kref_init(&nbl->nbl_kref); in find_or_allocate_block()
307 nfsd4_init_cb(&nbl->nbl_cb, lo->lo_owner.so_client, in find_or_allocate_block()
312 return nbl; in find_or_allocate_block()
318 struct nfsd4_blocked_lock *nbl; in free_nbl() local
320 nbl = container_of(kref, struct nfsd4_blocked_lock, nbl_kref); in free_nbl()
321 kfree(nbl); in free_nbl()
325 free_blocked_lock(struct nfsd4_blocked_lock *nbl) in free_blocked_lock() argument
327 locks_delete_block(&nbl->nbl_lock); in free_blocked_lock()
328 locks_release_private(&nbl->nbl_lock); in free_blocked_lock()
329 kref_put(&nbl->nbl_kref, free_nbl); in free_blocked_lock()
337 struct nfsd4_blocked_lock *nbl; in remove_blocked_locks() local
343 nbl = list_first_entry(&lo->lo_blocked, in remove_blocked_locks()
346 list_del_init(&nbl->nbl_list); in remove_blocked_locks()
347 WARN_ON(list_empty(&nbl->nbl_lru)); in remove_blocked_locks()
348 list_move(&nbl->nbl_lru, &reaplist); in remove_blocked_locks()
354 nbl = list_first_entry(&reaplist, struct nfsd4_blocked_lock, in remove_blocked_locks()
356 list_del_init(&nbl->nbl_lru); in remove_blocked_locks()
357 free_blocked_lock(nbl); in remove_blocked_locks()
364 struct nfsd4_blocked_lock *nbl = container_of(cb, in nfsd4_cb_notify_lock_prepare() local
366 locks_delete_block(&nbl->nbl_lock); in nfsd4_cb_notify_lock_prepare()
391 struct nfsd4_blocked_lock *nbl = container_of(cb, in nfsd4_cb_notify_lock_release() local
394 free_blocked_lock(nbl); in nfsd4_cb_notify_lock_release()
6153 struct nfsd4_blocked_lock *nbl; in nfs4_laundromat() local
6225 nbl = list_first_entry(&nn->blocked_locks_lru, in nfs4_laundromat()
6227 if (!state_expired(<, nbl->nbl_time)) in nfs4_laundromat()
6229 list_move(&nbl->nbl_lru, &reaplist); in nfs4_laundromat()
6230 list_del_init(&nbl->nbl_list); in nfs4_laundromat()
6235 nbl = list_first_entry(&reaplist, in nfs4_laundromat()
6237 list_del_init(&nbl->nbl_lru); in nfs4_laundromat()
6238 free_blocked_lock(nbl); in nfs4_laundromat()
7192 struct nfsd4_blocked_lock *nbl = container_of(fl, in nfsd4_lm_notify() local
7198 if (!list_empty(&nbl->nbl_list)) { in nfsd4_lm_notify()
7199 list_del_init(&nbl->nbl_list); in nfsd4_lm_notify()
7200 list_del_init(&nbl->nbl_lru); in nfsd4_lm_notify()
7206 trace_nfsd_cb_notify_lock(lo, nbl); in nfsd4_lm_notify()
7207 nfsd4_run_cb(&nbl->nbl_cb); in nfsd4_lm_notify()
7503 struct nfsd4_blocked_lock *nbl = NULL; in nfsd4_lock() local
7621 nbl = find_or_allocate_block(lock_sop, &fp->fi_fhandle, nn); in nfsd4_lock()
7622 if (!nbl) { in nfsd4_lock()
7628 file_lock = &nbl->nbl_lock; in nfsd4_lock()
7647 nbl->nbl_time = ktime_get_boottime_seconds(); in nfsd4_lock()
7649 list_add_tail(&nbl->nbl_list, &lock_sop->lo_blocked); in nfsd4_lock()
7650 list_add_tail(&nbl->nbl_lru, &nn->blocked_locks_lru); in nfsd4_lock()
7651 kref_get(&nbl->nbl_kref); in nfsd4_lock()
7664 kref_put(&nbl->nbl_kref, free_nbl); in nfsd4_lock()
7665 nbl = NULL; in nfsd4_lock()
7681 if (nbl) { in nfsd4_lock()
7685 if (!list_empty(&nbl->nbl_list) && in nfsd4_lock()
7686 !list_empty(&nbl->nbl_lru)) { in nfsd4_lock()
7687 list_del_init(&nbl->nbl_list); in nfsd4_lock()
7688 list_del_init(&nbl->nbl_lru); in nfsd4_lock()
7689 kref_put(&nbl->nbl_kref, free_nbl); in nfsd4_lock()
7694 free_blocked_lock(nbl); in nfsd4_lock()