Lines Matching refs:node

59 smb_lock_get_lock_count(smb_node_t *node, smb_ofile_t *of)
65 SMB_NODE_VALID(node);
68 llist = &node->n_lock_list;
93 smb_node_t *node,
101 smb_llist_enter(&node->n_lock_list, RW_WRITER);
102 status = smb_lock_range_ulckrules(sr, node, start, length, &lock);
109 smb_llist_exit(&node->n_lock_list);
113 smb_llist_remove(&node->n_lock_list, lock);
114 smb_lock_posix_unlock(node, lock, sr->user_cr);
115 smb_llist_exit(&node->n_lock_list);
125 * This is performed by applying lock rules with all the elements of the node
147 smb_node_t *node = file->f_node;
156 smb_llist_enter(&node->n_lock_list, RW_WRITER);
161 result = smb_lock_range_lckrules(sr, file, node, lock, &clock);
176 * node lock list. smb_lock_wait will release
179 ASSERT(node == clock->l_file->f_node);
244 if (smb_fsop_frlock(node, lock, B_FALSE, sr->user_cr))
247 smb_llist_insert_tail(&node->n_lock_list, lock);
249 smb_llist_exit(&node->n_lock_list);
252 smb_oplock_break_levelII(node);
261 * scans node lock list
272 smb_node_t *node,
281 llist = &node->n_lock_list;
308 smb_node_destroy_lock_by_ofile(smb_node_t *node, smb_ofile_t *file)
314 SMB_NODE_VALID(node);
315 ASSERT(node->n_refcnt);
318 * Move locks matching the specified file from the node->n_lock_list
321 * while we are holding the lock for node->n_lock_list because we will
328 smb_llist_enter(&node->n_lock_list, RW_WRITER);
329 lock = smb_llist_head(&node->n_lock_list);
331 nxtl = smb_llist_next(&node->n_lock_list, lock);
333 smb_llist_remove(&node->n_lock_list, lock);
334 smb_lock_posix_unlock(node, lock, file->f_user->u_cred);
339 smb_llist_exit(&node->n_lock_list);
378 * due to lock order constraints between node->n_lock_list
379 * and node->vp->vnbllock (taken via nvl_start_crit).
384 smb_nbl_conflict(smb_node_t *node, uint64_t off, uint64_t len, nbl_op_t op)
388 SMB_NODE_VALID(node);
389 ASSERT(smb_node_in_crit(node));
393 if (smb_node_is_dir(node))
396 if (nbl_share_conflict(node->vp, op, &smb_ct))
406 if (nbl_svmand(node->vp, zone_kcred(), &svmand))
409 if (nbl_lock_conflict(node->vp, op, off, len, svmand, &smb_ct))
424 smb_lock_posix_unlock(smb_node_t *node, smb_lock_t *lock, cred_t *cr)
436 llist = &node->n_lock_list;
446 (void) smb_fsop_frlock(node, &new_unlock,
453 (void) smb_fsop_frlock(node, &new_unlock,
529 smb_node_t *node,
541 /* Caller must hold lock for node->n_lock_list */
542 for (lock = smb_llist_head(&node->n_lock_list);
544 lock = smb_llist_next(&node->n_lock_list, lock)) {
587 * write lock for node->n_lock_list so that the set of active locks can't
588 * change unexpectedly. The lock for node->n_lock_list will be released
681 * lock entity in node lock list.
691 * of lock record in node lock request or
697 smb_node_t *node,
705 /* Caller must hold lock for node->n_lock_list */
706 for (lock = smb_llist_head(&node->n_lock_list);
708 lock = smb_llist_next(&node->n_lock_list, lock)) {
778 * Caller must hold node->n_lock_list
784 * Caller must hold node->n_lock_list lock.
851 * check next node